Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Laravel 5 UnexpectedValueException em resposta à consulta devido ao uso de dados POINT


Acho que deveria fazer mais perguntas antes de postar esta resposta, mas acho que você está fazendo as coisas na ordem errada.
public function rentals($id)
{
    // Retrieve all rentals within a region and the locations spatial data
    $rentals = DB::table('rentals')
                 ->join('regions', 'rentals.region_id', '=', 'regions.id')
                 ->join('rental_locations', 'rentals.rental_location_id', '=', 'rental_locations.id')
                 ->select('*')
                 ->where('rentals.region_id', '=', $id)
                 ->groupBy('rental_location_id')
                 ->get();


    return collect($rentals); // or return $rentals
/* Not necessary
    // Create a collection from the array of query results
    $rentals = collect($rentals);


    // Laravel is set up to return collections as json when directly returned
    return $rentals;
*/
}

Então você precisa adicionar seu groupBy na própria consulta porque essa é uma ação de consulta que seu SQL deve estar fazendo. A outra parte é que ao convertê-lo em uma coleção (o que não é 100% necessário) você pode simplesmente devolvê-lo. O Laravel lida com o JSON nativamente.