У меня есть столбец, который был добавлен в Eloquent Model с использованием необработанного запроса SQL, но я не могу получить значение обратно из модели при выполнении get (). Я могу распечатать модель, используя print_r (), и увидеть значение и столбец, добавленные в поля [attribute: protected] и [original: protected], но он не возвращает значение, когда я получаю (). Я добавил атрибут добавления и метод доступа, но он возвращает ноль. Пример:
$query = $query->select('*', Capsule::raw('(3959 * acos(
( cos( radians( ' . $zip['latitude'] . ' ) )
* cos( radians( latitude ) )
* cos( radians( longitude ) - radians( ' . $zip['longitude'] . ' ) ))
+ ( sin( radians( ' . $zip['latitude'] . ' ) )
* sin( radians( latitude ) ))
)
) AS distance')
)->orderBy('distance');
Объект:
[attributes:protected] => Array
(
[zip_id] => 11753
[zipcode] => 29210
[territory_id] => 41
[latitude] => 34.04814020
[longitude] => -81.10814000
[last_verified] => 0000-00-00 00:00:00
[nextCheck] => 2020-03-16 17:40:50
[active] => 1
[distance] => 5.8993697166443E-5
)
[original:protected] => Array
(
[zip_id] => 11753
[zipcode] => 29210
[territory_id] => 41
[latitude] => 34.04814020
[longitude] => -81.10814000
[last_verified] => 0000-00-00 00:00:00
[nextCheck] => 2020-03-16 17:40:50
[active] => 1
[distance] => 5.8993697166443E-5
)
Возвраты:
{
"zip_id": 11753,
"zipcode": "29210",
"territory_id": 41,
"latitude": "34.04814020",
"longitude": "-81.10814000",
"last_verified": "0000-00-00 00:00:00",
"nextCheck": "2020-03-16 17:40:50",
"active": 1,
"distance": null
}
В качестве бонуса, если кто-нибудь может сказать мне, почему я могу использовать пользовательский столбец в порядок, но не в месте, где на модели будет оценено.