我无法从刀片模板Laravel 4中的对象获得价值

时间:2014-10-09 12:15:41

标签: php laravel laravel-4 eloquent blade

我在刀片模板中有一个循环foreach,我从特定模型打印数据,问题是我无法获得“$ pedido-> proveedor() - > first() - >的价值;名称“在代码中给我这个错误”ErrorException(E_UNKNOWN)试图获取非对象的属性(查看: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-&gt; proveedor() - &gt; first()”时,我得到一个像这样的对象:

      {"name":"nombre","domicilio":"domicilio","cp":"46006","poblacion":"poblacion","ciudad":"ciudad","pais":"pais"} 

但编码此“$ pedido-&gt; proveedor() - &gt; first() - &gt;名称”我收到错误:

数据从控制器发送:

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);

}

另一个更奇怪的事情是,我有不同模型的相同代码,它正在工作。

提前感谢您的帮助。 ;)

2 个答案:

答案 0 :(得分:2)

您应该使用:

{{ $pedido->proveedor->name }}

答案 1 :(得分:0)

问题解决了:

普遍的回答是好的。我可以用:

{{ $pedido->proveedor()->first()->name }}

{{ $pedido->proveedor->name }}

但因为在循环的一种方式中没有内容可以参考,即($ pedido-&gt; proveedor没有exixt)我用这个:

{{ isset($pedido->Proveedor->name )?$pedido->Proveedor->name :''; }}