我的$addresses
数组包含每个$client
的多个位置。这些地址是使用Laravel中的Eloquent关系获取的。
我想要获取每个地址,发现它们与起点之间的距离(使用谷歌地图API),然后将该距离添加回每个对象中。
我可以遍历每个键并重新添加它以获取新数据,但是否有更简单的方法来读取邮政编码,获取距离并将其添加到每个地址中?
$client = client::find($id);
$addresses = $client->address()->get();
冗长的方法:
foreach ($addresses as $address) {
$newAddress= new \stdClass;
$newAddress->label = $address->label; //seems redundant
$newAddress->street= $address->street; //seems redundant
$newAddress->postcode = $address->postcode; //seems redundant
$newAddress->distance = (function to get distance) //this is the only new data
$newAddresses[] = $newAddress;
}
&
在 foreach 中不是必须的,因为它不会将参数传递给函数。也就是说,在不使用&
的情况下,foreach 循环同样可以工作:foreach ($addresses as $address)
。 - Lee Kowalkowski