Laravel 中的查询生成器 GROUP BY、HAVING、COUNT

Ikr*_*kra 3 mysql query-builder laravel eloquent laravel-6

如何在查询构建器中表达此代码。我正在使用 Laravel 6。

SELECT * FROM feedback GROUP BY noTicket having count(`status`) < 2 
Run Code Online (Sandbox Code Playgroud)

我的代码:

$feedback = DB::table('feedback')
            ->groupBy('noTicket')
            ->having('count(status)', '<', 2)
            ->get();
Run Code Online (Sandbox Code Playgroud)

错误代码:

SQLSTATE[42000]: Syntax error or access violation: 1055 'sifora.feedback.idFeedback' isn't in GROUP BY 
(SQL: select * from `feedback` group by `noTicket` having `count(status)` < 2) 
Run Code Online (Sandbox Code Playgroud)

我的代码有什么问题?sql 代码与查询构建器之间似乎匹配。

谢谢

Ers*_*soy 6

这是查询的工作版本

select noTicket
from feedback
group by noTicket
having count(status) < 2;
Run Code Online (Sandbox Code Playgroud)

这是查询构建器;

return DB::table('feedback')
    ->groupBy('noTicket')
    ->having(DB::raw('count(status)'), '<', 2)
    ->pluck('noTicket'); // you may replace this with get()/select()
Run Code Online (Sandbox Code Playgroud)