Esta restrição faz sentido, pois quando você usa GROUP BY
no MySQL, ela retorna uma linha para cada valor nas colunas usadas em GROUP BY
. Portanto, os valores de outras colunas nas linhas selecionadas não fazem sentido para usar em qualquer lugar. Portanto, é sempre recomendável usar a prática recomendada e não desabilitar o modo estrito do MySQL.
Freqüentemente, os desenvolvedores podem precisar de linhas de uma consulta agrupadas pelo valor de uma coluna. Aqui, eles não precisam de apenas uma linha para os valores exclusivos das colunas. Mas eles precisam de várias linhas agrupadas pelos valores exclusivos de uma coluna específica. Por alguma razão, eles usam o groupBy
método Query Builder do Laravel que gera uma GROUP BY
consulta MySQL e os desenvolvedores encontram o erro acima.
A solução para o problema deles é usar o groupBy
método Collection. Por exemplo,
$loadingData = DB::table('loading')
->whereIn('id', $loadIds)
->get()
->groupBy('vehicle_no');
Isso lhes dará o resultado desejado.