sql >> Base de Datos >  >> RDS >> Mysql

mysql se une a ON y AND a laravel eloquent

Entonces, como referencia, lo resolví así:

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

El ->where() cláusula dentro de leftJoin , curiosamente, necesita las marcas de voz para que la variable se pase correctamente a través de la consulta sql (del mismo modo, '2' no parece funcionar mientras que "2") sí lo hace).