sql >> Database >  >> RDS >> Mysql

Laravel 5 UnexpectedValueException als reactie op een vraag vanwege het gebruik van POINT-gegevens

Ik denk dat ik meer vragen moet stellen voordat ik dit antwoord post, maar ik denk dat je de dingen in de verkeerde volgorde doet.

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;
*/
}

U moet dus uw groupBy in de query zelf toevoegen, want dat is een queryactie die uw SQL zou moeten doen. Het andere deel is dat wanneer je het omzet naar een verzameling (wat niet 100% nodig is), je het gewoon kunt retourneren. Laravel verwerkt de JSON native.




  1. CRUD voor MySQL en PHP

  2. Hoe commentaar te geven in SQL

  3. Het omzetten van MyISAM naar InnoDB. Voordelig? Gevolgen?

  4. sqlalchemy func.group_concat en willekeurige volgorde van gegevens