В моей базе данных около 20-30 тыс. Записей, после извлечения я выполняю операцию с данными, чтобы сделать их правильно структурированными, но проблема в том, что эти два процесса требуют времени, поэтому я хочу изменить запрос с помощьюмой sql, поэтому мне не нужно зацикливаться на всех извлеченных данных.
$hotels = \DB::table('hotels')->select(["name","phone","lat", "lng"
"id","plz","rating","adress","status","website"])->get();
$hotels = $hotels->map(function($elem){
return ["id" => $elem->id,"name"=>$elem->name,"phone"=>$elem->phone,
"address"=>$elem->adress,"rating"=>$elem->rating,"website"=>$elem->website,"status" =>
$elem->status, "plz"=>$elem->plz,"position" => [
"lat" => $elem->lat,
"lng" => $elem->lng,
]];
});
return response()->json(['data'=>$hotels]);
Выше запрос дает ответ таким образом
0:[address: "Chausseestraße 33, 10115 Berlin, Germany"
id: 1
name: "Hotel Mitte managed by Melia"
phone: "+49 30 254646562"
plz: 10115
position: {lat: 52.5329, lng: 13.3806}]
Можно ли получить тот же массив череззапрос к базе данных без повторения цикла и создания пользовательского ответа.