【问题标题】:Laravel how to get values from a table with an id from another tableLaravel如何从另一个表中获取具有ID的表中的值
【发布时间】:2017-05-02 20:52:42
【问题描述】:

我在从查询中获取结果时遇到了一些问题。如下。我有两张桌子,taskstask_interactions。表tasks存储任务,表task_interactions存储任务的历史,如状态变化,cmets... task_interactions表中的列task_id是表tasks中的id。 表tasks有以下列:id | project_id | task_type_id | related_block | created_by | assigned_to | start_date | due_date | task_priority | comments | status | created_at |updated_at此表中的状态将被删除。

表 taskinteractions 具有以下列: id,task_id,status,comments,created_at

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

任务模型:

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

任务交互模型:

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

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

【问题讨论】:

    标签: laravel-5 eloquent


    【解决方案1】:

    假设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);
        }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-23
      • 1970-01-01
      相关资源
      最近更新 更多