拉拉维尔5有一个关系



我有两个表:药物表和配方表。药品表包含字段 ID、名称、数量和formulation_id。配方表具有字段 ID 和名称。

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

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

我试过使用hasOne关系,但不起作用:

我的观点如下:

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

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

public function formulation()
{
return $this->hasOne('AppFormulation');
}

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

public function formulation()
{
return $this->belongsTo('AppFormulation');
}

如果你打电话给$drug->formulation返回的雄辩收藏,你无法得到name

你应该打电话给$drug->formulation()->first()->name

美好的一天,药物模型中的 formula(( 应该是

public function formulation()
{
return $this->belongsTo('AppFormulation');
}

如果一个配方可以有多个药物,则配方模型中的 Drugs(( 应该是

public function drugs()
{
return $this->HasMany('AppDrug');
}

你可以通过这种方式获得配方

$drug->公式((->第一个((->名称

$drug->配方>名称

在新的 PHP 版本中

最新更新