isn php mysql pagination laravel eloquent

php - isn - Laravel unir consultas AS



isn''t in group by laravel (1)

El segundo parámetro del método paginate() acepta una matriz de columnas de tabla para seleccionar en la consulta. Así que esta parte:

paginate(30, array(''news.title, category.name''));

debe ser así:

paginate(30, array(''news.title'', ''category.name''));

ACTUALIZACIÓN (después de que cambió la pregunta)

Prueba esto:

->paginate(30, array(''news.title'', ''categories.name as category_name'', ''users.name as user_name''));

ACTUALIZACIÓN 2 (después de que cambió la pregunta, otra vez)

También puedes usar el alias en las tablas:

$data = News::order_by(''news.id'', ''desc'') ->join(''categories'', ''news.category_id'', ''='', ''categories.id'') ->join(''users as u1'', ''news.user_id'', ''='', ''u1.id'') // [''created_by''] ->join(''users as u2'', ''news.modified_by'', ''='', ''u2.id'') // [''modified_by''] ->paginate(30, array(''news.title'', ''categories.name as categories'', ''u1.name as creater_username'', ''u2.name as modifier_username''));

¿Alguna forma de definir un AS para una consulta?

He probado lo siguiente:

$data = News::order_by(''news.id'', ''desc'') ->join(''categories'', ''news.category_id'', ''='', ''categories.id'') ->left_join(''users'', ''news.user_id'', ''='', ''users.id'') // [''created_by''] ->left_join(''users'', ''news.modified_by'', ''='', ''users.id'') // [''modified_by''] ->paginate(30, array(''news.title'', ''categories.name as categories'', ''users.name as username''));

El problema es que [''name''] de las categorías se reemplazará con el de los users . ¿Alguna forma de tenerlos con nombres diferentes?

Teniendo los alias de arriba ... ¿cómo puedo crear un alias donde ambas uniones devuelvan users.name ?