У меня есть цикл foreach в шаблоне блейда, где я печатаю данные из конкретной модели, проблема в том, что я не могу получить значение «$ pedido-> proofedor () -> first () -> name» в коде выдаёт мне эту ошибку «ErrorException (E_UNKNOWN) Попытка получить свойство не-объекта (View: C: ..»:
@foreach($pedidos as $pedido)
<tr>
<td>
{{ $pedido->id }}
</td>
<td>
{{ $pedido->proveedor()->first()->name }}
</td>
<td>
{{ date('d/m/Y', $pedido->fecha) }}
</td>
<td>
<a onclick="return confirm('deseas borar este registro?')" class="btn btn-danger btn-xs fullButton">Borrar</a>
</td>
</tr>
@endforeach
Странная вещь здесь заключается в том, что когда я кодирую этот «$ pedido- >promedor () -> first ()» в цикле шаблона, я получаю такой объект:
{"name":"nombre","domicilio":"domicilio","cp":"46006","poblacion":"poblacion","ciudad":"ciudad","pais":"pais"}
но кодируя это «$ pedido-> proofedor () -> first () -> name», я получаю ошибку:
данные отправляются с контроллера:
public function listPedidos()
{
$pedidos = Pedido::all();
// this next pice of code shows me i can get the name as spected but only from php
// foreach($pedidos as $pedido){
// ddd($pedido->proveedor()->first()->name);exit;
// }
return View::make('pedidos/pedidos-list')->with('pedidos', $pedidos);
}
Еще одна странность в том, что у меня один и тот же код с другой моделью, и он работает.
Заранее благодарю за любую помощь. 😉
Вы должны использовать:
{{ $pedido->proveedor->name }}
Задача решена:
предыдущий ответ был в порядке. Я могу использовать:
{{ $pedido->proveedor()->first()->name }}
или же
{{ $pedido->proveedor->name }}
но поскольку в одном из способов цикла не было содержимого для ссылки на i.e ($ pedido-> proofedor not exixt), я использую это:
{{ isset($pedido->Proveedor->name )?$pedido->Proveedor->name :''; }}