それで、参考までに、私はそれを次のように解決しました:
$query = Person::leftJoin('actions', function($q) use ($user)
{
$q->on('actions.person_id', '=', 'persons.id')
->where('actions.user_id', '=', "$user");
})
->groupBy('persons.id')
->where('type', 'foo')
->get(['persons.id', 'full_name', DB::raw('count(actions.id) as total')]);
->where()
leftJoin
内の句 、奇妙なことに、変数のスピーチマークがSQLクエリを正しく通過する必要があります(同様に、「2」は機能しているように見えますが、「2」は機能していないようです)。