Laravel Eloquent belongsTo: "Trying to get property of non-object" 在没有 echo/die/var_dump 的情况下使用
Laravel Eloquent belongsTo: "Trying to get property of non-object" when using without echo/die/var_dump
我刚开始使用 Laravel 和 Eloquent。
在我的 "Receipt" 模型中,我尝试获取有关关系的信息。
只要我使用 var_dump,我就能获得我的信息。
只要我返回值以在 blade 视图中使用它,我就会得到我的 "Trying to get property of non-object".
<?php
class Receipt extends Eloquent {
public function businesspartner() {
return $this->belongsTo('Businesspartner', 'f_businesspartner_id');
}
public function brand() {
return $this->belongsTo('Brand', 'f_brand_id');
}
public function invoice() {
return $this->belongsTo('Invoice', 'f_invoice_id');
}
public function name() {
$name = '';
$bp = $this->businesspartner()->first();
$name = $bp->salutation; // line 21
$name .= ' ';
$name .= $bp->lastname_company;
return $name;
}
}
第21行出现错误
当我现在放一个
var_dump($名字);死();
在返回之前,它会打印我的名字。
这里出了什么问题? :(
此致,
蒂莫
解决方案
正如@Jarek Tkaczyk 所写,我在循环中调用 name() 方法。
在进行调试输出时,我从第一行获取了数据。
出现错误时,代码已经在处理第二行,其中外键为空。
将有问题的部分包装在 if(count($this->businesspartner))
中有帮助。
有关这方面的更多信息,Jarek 链接了 post:
我刚开始使用 Laravel 和 Eloquent。 在我的 "Receipt" 模型中,我尝试获取有关关系的信息。 只要我使用 var_dump,我就能获得我的信息。 只要我返回值以在 blade 视图中使用它,我就会得到我的 "Trying to get property of non-object".
<?php
class Receipt extends Eloquent {
public function businesspartner() {
return $this->belongsTo('Businesspartner', 'f_businesspartner_id');
}
public function brand() {
return $this->belongsTo('Brand', 'f_brand_id');
}
public function invoice() {
return $this->belongsTo('Invoice', 'f_invoice_id');
}
public function name() {
$name = '';
$bp = $this->businesspartner()->first();
$name = $bp->salutation; // line 21
$name .= ' ';
$name .= $bp->lastname_company;
return $name;
}
}
第21行出现错误
当我现在放一个 var_dump($名字);死(); 在返回之前,它会打印我的名字。
这里出了什么问题? :(
此致, 蒂莫
解决方案
正如@Jarek Tkaczyk 所写,我在循环中调用 name() 方法。
在进行调试输出时,我从第一行获取了数据。 出现错误时,代码已经在处理第二行,其中外键为空。
将有问题的部分包装在 if(count($this->businesspartner))
中有帮助。
有关这方面的更多信息,Jarek 链接了 post: