我的$addresses
数组包含每个$client
的多个位置。 这些地址是在Laravel中使用Eloquent关系获取的。将属性添加到PHP数组中的每个对象
我想获取每个地址,发现距离原点的距离(使用Google Maps 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($ address作为$地址)' –
如果你想修改这个项目,&确实是必须的。 如果您不想在foreach循环中使用引用以及关于悬挂引用的一些警告,我添加了一个替代方法。 –