Я перетаскиваю данные из своей базы данных и хочу добавить объект в конец каждого элемента. Следующий код работает, но я предполагаю, что есть лучший способ, чем повторять всю информацию и добавлять новый объект.
$cs = $client->contact()->get();
foreach ($cs as $c) {
$contact = (object)[
'id' => $c->id,
'name' => $c->name,
'role' => $c->role,
'phone' => $c->phone,
'address' => $c->address,
'postcode' => $c->postcode,
'otherClients' => Contact::find($c->id)->clients()->get(), //this is the additional info
];
$contacts[]=$contact;
Вы можете просто изменить исходные объекты, если вам не нужно выходить $cs
неповрежденными.
foreach ($cs as $c) {
$c->otherClients = Contact::find($c->id)->clients()->get();
}
ты можешь использовать
По предложению @MrCode
$cs = $client->contact()->get();
PHP 5.4+
foreach ($cs as $c) {
$c->otherClients = Contact::find($c->id)->clients()->get(), //this is the additional info
}
PHP 4 или ниже
foreach ($cs as &$c) {
$c->otherClients = Contact::find($c->id)->clients()->get(), //this is the additional info
}