我想将MySql查询转换为Laravel中的查询,但我真的不知道该怎么做。我不知道如何在FROM中重命名,例如在SQL中]
我的查询是以下内容:
SELECT f2.* FROM formation f2 WHERE f2.theme_id IN (SELECT f.theme_id FROM user_formation uf JOIN formation f ON uf.formation_id = f.id WHERE uf.user_id = 2) AND f2.id NOT IN (SELECT formation_id FROM user_formation WHERE user_id = 2);
我尝试过类似的操作,但是...
$q = Formation::query() ->from('formation AS f2') ->whereIn('f2.theme_id', function($r) { $r->select('f.theme_id')->from('user_formation AS uf') ->join('formation', function($join) { $join->on('uf.formation_id', '=', 'f.id') ->where ('uf.user_id', '=', $id) }); }); ->whereNotIn('f2.id', function($s){ $s->select('formation.id') ->from('user_formation') ->where('user_id', '=', $id) })->get();
感谢您的帮助。
我想将MySql查询转换为Laravel中的查询,但我真的不知道该怎么做。我不知道如何像在SQL中那样在FROM中重命名我的查询如下:SELECT f2。* FROM ...