Laravel 5一对一关系问题

时间:2016-02-20 19:40:11

标签: laravel-5

我有一个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');
}

我做错了什么?

1 个答案:

答案 0 :(得分:0)

我找到了解决方案,我在 Ingredient 模型中做了以下关系:

public function unit()
{
    return $this->hasOne('App\Unit','id','unit_id');
}

第二个参数是单位表的主键,第三个参数 unit_id ingredients表中对单位的引用

在我看来我能做到:

  

{{$ ingredient-&gt; unit-&gt; name}}