2017-05-02 45 views
-1

我在查询结果中遇到了一些麻烦。它是以下内容。我有两个表格,taskstask_interactions。表任务存储任务,并且表task_interactions存储任务的历史记录,如更改状态,注释...... task_interactions表中的列task_id是表任务中的id。 表任务包含以下列:id | project_id | task_type_id | related_block | created_by | assigned_to | start_date | due_date | task_priority | comments | status | created_at |updated_at此表中的状态将被删除。Laravel如何从表中获取值与另一个表中的ID

表taskinteractions有以下栏目: idtask_idstatuscommentscreated_at

在我创建了以下关系模型:

任务模型:

public function taskinteractions() 
{ 
    return $this->hasMany('App\Taskinteraction'); 
} 

任务互动模型:

public function tasks() 
{ 
    return $this->belongsTo('App\Task'); 
} 

而现在的问题: 我想获得所有分配给身份验证用户的状态(在表taskyncractions)等于“进行中”的任务。 我尝试了很多不同的方法,没有很好的结果。 我是新手,所以我相信解决方案可能很简单,但我不知道该怎么做。

回答

0

假设assigned_to有用户的ID和一个典型的用户表,请尝试以下,$tasks是你想获得

$interactions = TaskInteractions::where('status','In Progress')->get(); 
$tasks = array(); 
foreach($interactions as $interaction){ 
    $task = $interaction->task; 
    if((!(in_array($task, $tasks))) && (Auth::user()->id == $task->assigned_to)){ 
     array_push($tasks,$task); 
    } 
任务的阵列
相关问题