【问题标题】:Apply Left Join in Laravel eloquent.在 Laravel eloquent 中应用左连接。
【发布时间】:2014-05-13 10:52:16
【问题描述】:

我有以下 sql 查询-

SELECT 
   viewtasksactivitiesprojects.task_name, 
   users.firstname, 
   users.lastname 
FROM 
   viewtasksactivitiesprojects 
LEFT JOIN users 
   ON (viewtasksactivitiesprojects.activitytask_owner_id=users.id) 
WHERE 
   activitytasks_active=1 
   AND activity_status=5 
   AND activitytask_id IN
   (
      SELECT 
         activitytask_id 
      FROM 
         Activitytasks 
      WHERE 
         activity_id=26 AND active=1 
         AND task_status=8
   )

我正在使用 Laravel 框架,我想在其中将此查询转换为 laravel eloquent 格式。 但是我在某种程度上实现了相同的目标,但我无法实现查询的“加入”部分。 任何人都可以建议我如何在 laravel eloquent 中实现左连接。 还有一件事是laravel中有任何方法可以直接传递sql格式的查询。

【问题讨论】:

    标签: php sql laravel eloquent


    【解决方案1】:

    我得到了答案-

    DB::table('viewtasksactivitiesprojects')->leftJoin('Users',function($join){
               $join->on('viewtasksactivitiesprojects.activitytask_owner_id','=','users.id');
           })->whereIn('activitytask_id',function($query) use($id) {
                        $query->select('activitytask_id')
                                ->from(with(new Activitytask)->getTable())
                                ->where('activity_id', '=', $id)->where('active','=',1)->where('task_status','=',8);
                    })->where('activitytasks_active','=',1)->where('activity_status','=',5)->get(array('viewtasksactivitiesprojects.task_name','users.firstname', 'users.lastname','users.id'));
    

    【讨论】:

    • 将您的答案标记为答案,这样它就不会显示为未回答的问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-06-27
    • 1970-01-01
    • 2019-12-06
    • 2014-10-18
    • 1970-01-01
    • 1970-01-01
    • 2015-03-14
    相关资源
    最近更新 更多