Как добавить атрибуты модели к объекту - PullRequest
0 голосов
/ 23 октября 2019

В Laravel у меня есть модель City с атрибутами name, lat, long, когда я печатаю город, он выводит как:

        {
            "name": "San Juan",
            "latitude": 66.66,
            "longitude": 44.44
        }

Однако мне нужно это длявсегда распечатывайте в следующем формате с lat и long в объекте geolocation.

        {
            "name": "San Juan",
            "geolocation": {
                "latitude": 66.66,
                "longitude": 44.44
            }
        }

это можно сделать в моем City.php классе моделей?

Ответы [ 2 ]

0 голосов
/ 23 октября 2019

Попробуйте

$z= json_decode($y);
$z->geolocation = ['latitude' => $z->latitude,'longitude' => $z->longitude];
unset($z->latitude);
unset($z->longitude);
echo json_encode($z);

Вывод будет

{
  "name":"San Juan",
  "geolocation":
   {
     "latitude":66.66,
     "longitude":44.44

   }
}
0 голосов
/ 23 октября 2019

Вы удалите атрибуты lat и long и замените их новым атрибутом геолокации, и его тип будет json в формате {"широта": 66.66, "долгота": 44.44}.

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