Mysql
 sql >> Datenbank >  >> RDS >> Mysql

mysql verbindet ON und AND mit laravel eloquent

Als Referenz habe ich es so gelöst:

$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')]);

Das ->where() -Klausel in leftJoin , benötigt seltsamerweise die Sprachzeichen für die Variable, um korrekt durch die SQL-Abfrage geleitet zu werden (ebenfalls scheint '2' nicht zu funktionieren, während "2" funktioniert).