Как оптимизировать запрос к базе данных в Laravel - PullRequest
0 голосов
/ 27 октября 2019

В моей базе данных около 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}]  

Можно ли получить тот же массив череззапрос к базе данных без повторения цикла и создания пользовательского ответа.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...