如何在Laravel中运行mysql查询

问题描述 投票:1回答:1

我想将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 ...

mysql laravel laravel-query-builder
1个回答
0
投票

© www.soinside.com 2019 - 2024. All rights reserved.