Laravel - 具有关系多行的SQL查询

时间:2018-05-01 14:32:18

标签: mysql sql laravel laravel-5

我有一个获取官方凭据的查询,但如果用户有任何行,则可以返回多行。

我正在尝试获取一个查询,其中IF其中一行[{1}}列设置为renew然后忽略它,否则,如果结果仍为1

0

2 个答案:

答案 0 :(得分:0)

$officiants = Officiant::where('status', 1)
        ->whereHas('cred',function($q) {
            $q->where('renewal', 0);
        })->with([‘cred’=> function($query) {
                $query->where('renewal', 0);
           })
        ->get();

如果您想获得具有信誉的官员,那么您需要此查询。

答案 1 :(得分:0)

您必须使用orWhere()它将获取续订= 1的行

$officiants = Officiant::where('status', 1)
            ->whereHas('cred',function($q) {
                $q->where('renewal', 0);
                 $q->orWhere('renewal',1);    
            })

            ->with(['cred' => function($q) {
                $q->where('renewal', 1);
                $q->where('renewal', 0); 
            }])
            ->get();