如何在Laravel中选择这样的查询 -
Select t.*, count(Select * from persons person
where person.user_id = t.id) from users t
答案 0 :(得分:1)
尝试:
DB::table('users')
->selectRaw('*, count(SELECT * FROM persons WHERE persons.user_id = users.id)')
->get();
答案 1 :(得分:-4)
在我看来,计算其他表的数据,你可以使用连接表与组合。它与您的查询相同。你可以这样做:
$users = DB::table('users')
->join('persons', 'users.id', '=', 'persons.user_id')
->select('users.*', count(persons.user_id))
->groupBy('persons.user_id')
->get();
我希望这可以帮到你。