我有以下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雄辩中实现左连接。 还有一件事是laravel中的任何方法,我们可以通过它直接传递sql格式的查询。
答案 0 :(得分: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'));