【发布时间】:2015-03-02 18:00:49
【问题描述】:
我刚刚开始使用 Laravel 和 Eloquent。 在我的“收据”模型中,我尝试获取有关关系的信息。 只要我使用 var_dump,我就会得到我的信息。 只要我只是返回值以在刀片视图中使用它,我就会得到“尝试获取非对象的属性”。
<?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($name);die(); 在返回之前,它会打印出我的名字。
这里出了什么问题? :(
问候, 蒂莫
【问题讨论】:
-
你是在循环中做的,对吧?检查这个stackoverflow.com/a/23911985/784588
-
太好了。我真的很确定这不能为空,但是当这个错误发生时,我的循环已经提前了一步。通过在我的 $name 构建代码行周围放置
if(count($this->businesspartner)),我的问题就解决了。我所有的调试输出都只是在前一次迭代中停止了代码,当时一切正常。您能否提供您的提示作为答案,以便我接受此答案并将此主题标记为已解决? -
不需要,只需对链接的答案进行投票即可。
-
对我来说还不可能,首先需要 15 个声望 ;-) 刚刚在这里创建了我的帐户。
标签: laravel eloquent belongs-to relationships