我有一个recipes
表,ingredients
表和units
表。
一种成分有一个单位
一个单位属于许多成分
现在说,我应该能够获得给定成分的单位:
@foreach ($recipe->ingredients as $ingredient)
<li>
{{ $ingredient->pivot->quantity}}
{{ $ingredient->unit->name}} <------- like this
{{ $ingredient->name}}
</li>
@endforeach
但它没有
以下是我模特中的关系:
为ingredient.php :
public function unit()
{
return $this->hasOne('App\Unit');
}
Unit.php :
public function ingredients()
{
return $this->belongsToMany('App\Ingredient');
}
我做错了什么?
答案 0 :(得分:0)
我找到了解决方案,我在 Ingredient 模型中做了以下关系:
public function unit()
{
return $this->hasOne('App\Unit','id','unit_id');
}
第二个参数是单位表的主键,第三个参数 unit_id 是ingredients
表中对单位的引用
在我看来我能做到:
{{$ ingredient-&gt; unit-&gt; name}}