Esta restricción tiene sentido, ya que cuando se utiliza GROUP BY
en MySQL, devuelve una fila por cada valor en las columnas utilizadas en GROUP BY
. Por lo tanto, los valores de otras columnas en las filas seleccionadas no tienen sentido para usar en cualquier lugar. Por lo tanto, siempre se recomienda utilizar las mejores prácticas y recomendaría no deshabilitar el modo estricto de MySQL.
A menudo, los desarrolladores pueden necesitar filas de una consulta agrupadas por el valor de una columna. Aquí no necesitan solo una fila por los valores únicos de las columnas. Pero necesitan varias filas agrupadas por los valores únicos de una columna en particular. Por alguna razón, usan el groupBy
método Query Builder de Laravel que genera una GROUP BY
consulta MySQL y los desarrolladores encuentran el error anterior.
La solución a su problema es utilizar el groupBy
método Collection en su lugar. Por ejemplo,
$loadingData = DB::table('loading')
->whereIn('id', $loadIds)
->get()
->groupBy('vehicle_no');
Esto les dará el resultado deseado.