我被困在Laravel的一对多关系中,似乎应该是直截了当的。我一定是在误解一些事情:
我的桌子:
发票(属于承包商)(属于客户)
客户(属于承包商)(有很多发票)
承包商(有很多发票)(有很多客户)
我正在尝试列出所有发票及其所属客户的名称。
为此,我在模型中建立了如下的雄辩关系:
protected $table = 'customers';
public function contractor() {
return $this->belongsTo('Contractor', 'contractor_id');
}
public function invoices()
{
return $this->hasMany('Invoice');
}
也为承包商和发票建立了关系。
我将变量传递给我的视图,然后尝试迭代:
@foreach($estimates as $estimate)
<tr>
<td>
<h4><strong>{{$estimate->title}}</strong></h4>
<i class="fa fa-fw fa-usd text-info"></i> {{$estimate->total}}<br>
<i class="fa fa-fw fa-user text-danger"></i> {{$estimate->customer->name}} <br>
<i class="fa fa-fw fa-phone text-info"></i> {{$estimate->phone}}
</td>
</tr>
@endforeach
我得到的错误是:&#34;试图获得非对象的属性&#34;在{{$ estimate-&gt; customer-&gt; name}}
的行上似乎这应该起作用,因为发票模型&#34;属于&#34;雄辩的客户模式。我错过了什么?