Laravel 5 Laravel如何从另一个表的id表中获取值
我在获取查询结果时遇到一些问题。它是下面的。我有两个表,Laravel 5 Laravel如何从另一个表的id表中获取值,laravel-5,eloquent,Laravel 5,Eloquent,我在获取查询结果时遇到一些问题。它是下面的。我有两个表,tasks和task\u interactions。表tasks存储任务,表task\u交互存储任务的历史记录,如状态更改、注释。。。任务交互表中的task\u id列是任务表中的id。 表格任务有以下列:id |项目|任务|类型| id |相关|块|创建|分配|开始|日期|到期|任务|优先级|注释|状态|创建|更新|此表格中的状态将被删除 taskinteractions表包含以下列: id,任务id,状态,注释,在 在这些模型中,我创建
tasks
和task\u interactions
。表tasks存储任务,表task\u交互存储任务的历史记录,如状态更改、注释。。。任务交互表中的task\u id
列是任务表中的id
。
表格任务有以下列:id |项目|任务|类型| id |相关|块|创建|分配|开始|日期|到期|任务|优先级|注释|状态|创建|更新|
此表格中的状态将被删除
taskinteractions表包含以下列:
id
,任务id
,状态
,注释
,在
在这些模型中,我创建了以下关系:
任务模型:
public function taskinteractions()
{
return $this->hasMany('App\Taskinteraction');
}
任务交互模型:
public function tasks()
{
return $this->belongsTo('App\Task');
}
现在的问题是:
我想获得分配给身份验证用户的所有任务,其状态(在taskinteractions表中)等于“进行中”。
我尝试了很多不同的方法,但没有取得好的效果。
我是一个新手,因此我相信解决方案可能很简单,但我不知道怎么做。假设
分配给的对象具有用户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);
}