如何从Laravel中的对象获取属性

时间:2019-05-31 13:40:03

标签: php laravel laravel-5

我是Laravel的初学者。我在项目中使用Laravel 5.8。

我有这个对象:

NominatimAddress {#1146 ▼
  -attribution: "Data © OpenStreetMap contributors, ODbL 1.0. https://osm.org/copyright"
  -category: "building"
  -displayName: "99, 9 Maja, Janowo, Olsztyn, powiat pomorski, pomorskie, "
  -osmType: "way"
  -osmId: 142789154
  -type: "yes"
  -coordinates: Coordinates {#1147 ▼
    -latitude: 51.51171143
    -longitude: 11.4023121
  }
  -bounds: Bounds {#1148 ▶}
  -adminLevels: AdminLevelCollection {#1149 ▶}
  -country: Country {#1152 ▶}
  -timezone: null
  -providedBy: "nominatim"
}

如何从该对象获取经度和纬度?

3 个答案:

答案 0 :(得分:2)

如我所见,您正在使用Geocoder库。因此,NominatimAddress扩展了Address,具有以下方法:

public function getCoordinates()
{
    return $this->coordinates;
}

正如Bogdan所说,坐标被封装到Coordinates类中,该类具有纬度和经度的访问器。

然后您可以尝试:

$lat = $object->getCoordinates()->getLatitude();
$lon = $object->getCoordinates()->getLongitude();

答案 1 :(得分:0)

在Laravel雄辩模型中访问属性非常容易。与访问stdClass对象的属性相同。

比方说,您拥有保存对象的变量$object。您将通过以下方式访问经度和纬度属性:

$lat = $object->coordinates->latitude;

答案 2 :(得分:-1)

$lat = $object->coordinates->latitude;
$long = $object->coordinates->longitude;