Laravel 5有一种关系

时间:2017-07-04 17:54:59

标签: laravel-5 eloquent

我有两张桌子:药物表和配方表。药物表有字段id,名称,数量和recipe_id。配方表具有字段ID和名称。

我应该使用什么关系来获取药物记录,包括配方的名称。

请注意,1份药物记录只有1份配方记录。

我尝试使用hasOne relashionship但不起作用:

我的观点如下:

@foreach($drugs as $drug)
        <li>
            <a class="padded-list" href="">{{$drug->name}} ({{$drug->formulation->name}})</a>
        </li>
        @endforeach

我在药物模型中的模型关系如下:

public function formulation()
{
    return $this->hasOne('App\Formulation');
}

2 个答案:

答案 0 :(得分:0)

药物模型中的配方()方法应为:

public function formulation()
{
    return $this->belongsTo('App\Formulation');
}

答案 1 :(得分:0)

如果您致电$drug->formulation返回Eloquent Collection,则无法获得name

您应该致电$drug->formulation()->first()->name