我正在尝试在Laravel中实现此查询
"SELECT * FROM jobs
WHERE status = 1 AND
taskerCount = (SELECT count(*) FROM jobRequests WHERE status = 1 AND job_id =
jobs.id)"
这就是我的尝试;
Auth::user()->jobs
->where('status', 1)
->where('taskerCount', function ($q) {
$q->where('status', 1)
->where('job_id', $q->id)->count();
});
但我收到错误:
类Closure的对象无法转换为int。
答案 0 :(得分:0)
使用原始表达式而不是-count()。
您可以查看此documentation here
来自laravel的原始查询示例:
$users = DB::table('users')
->select(DB::raw('count(*) as user_count, status'))
->where('status', '<>', 1)
->groupBy('status')
->get();
确保将计数定义为名称。