Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/261.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 我无法从刀片模板Laravel 4中的对象获取值_Php_Laravel_Laravel 4_Eloquent_Blade - Fatal编程技术网

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

Php 我无法从刀片模板Laravel 4中的对象获取值,php,laravel,laravel-4,eloquent,blade,Php,Laravel,Laravel 4,Eloquent,Blade,我在刀片模板中有一个循环foreach,其中我打印特定模型的数据,问题是我无法在代码中获取“$pedido->proveedor()->first()->name”的值,该代码给出了此错误“ErrorException(E_未知)试图获取非对象的属性(视图:C:…): 但是编码这个“$pedido->PROVEDEOR()->first()->name”我得到了错误: 数据从控制器发送: public function listPedidos() { $pedidos = Ped

我在刀片模板中有一个循环foreach,其中我打印特定模型的数据,问题是我无法在代码中获取“$pedido->proveedor()->first()->name”的值,该代码给出了此错误“ErrorException(E_未知)试图获取非对象的属性(视图:C:…):

但是编码这个“$pedido->PROVEDEOR()->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 not exixt),我使用以下方法:

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

你能给我们看一下
provedor()
函数吗?公共函数provedor(){return$this->belongsTo('provedor','idprovedor');}谢谢你的回答,那段代码似乎显示了正确的结果,但屏幕很快就变了,并向我抛出这样的信息:“Symfony\Component\Debug\Exception\FatalErrorException(E_ERROR)在非对象上调用成员函数first()“与开头相同:“ErrorException(E_UNKNOWN)试图获取非对象的属性(Vew:…”,尽管这样:“{$pedido->proveedor}}”给出了整个对象{“name”:“nombre”,“domicilio”:“domicilio”,“cp”:“46006”,“poblacion”:“poblacion”,“ciudad”:“ciudad”,“pais”:“pais”}@user2957058您确定您的表中没有任何名为
PROVEDEOR
的列吗?Pedidos表:如果不存在,请创建表
Pedidos
id
int(10)unsigned NOT NULL自动递增,
observaciones
text,`IDPROVEDEOR`int(10)unsigned NOT NULL,主键(
id
)ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_增量=9;PROVEDEOR Table:如果不存在,则创建表格
PROVEDEORES
name
varchar(40)NOT NULL,
domincilio
varchar(50)DEFAULT NULL,
cp
varchar(10)无符号NOT NULL AUTO_增量,主键(
id
)ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=4;我在pedidos表中只有IdProvedor作为一个前导键,在pedido模型中也有一个关系:
公共函数Provedor(){return$this->belongsTo('Provedor',IdProvedor');}
这:
公共函数pedido(){return this->有很多('Pedido','idproveredor');}
在Provedor模型中
{{ $pedido->proveedor()->first()->name }}
{{ $pedido->proveedor->name }}
{{ isset($pedido->Proveedor->name )?$pedido->Proveedor->name :''; }}