2 回答
TA贡献1796条经验 获得超10个赞
您可能会让自己不得不直接转到该查询中的表。如果是我,我可能会考虑稍微重构数据库以使其更容易,并轻松利用 Laravel 关系和枢轴。
我不确定您是否需要将数据存储在两个单独的表中。我希望尽可能地规范化并将其折叠到一个表中。您似乎不需要在Med_Time表中重申自己——该med_patient表添加了多个给定的药丸,因此它与 med_time 表具有相同的目的(我认为)。我建议只使用带有枢轴的药物患者表:
id medication_id patient_id Day time given
1 1 (MED X) 1 (Patient X) Yesterday 0900 1
2 2 (MED y) 1 (Patient X) Today 0900 0
您的关系将与您拥有的关系大体相同,但您可以直接从模型中绘制支点。这是来自患者模型,但您的关系对您的问题都有好处
public function medication()
{
return $this->belongsToMany('App\Medication')->withPivot('Day', 'time', 'given');
}
然后,当您需要访问数据时,只需拉动枢轴即可。例子:
$patient->pivot->Day... or $patient->pivot->time
TA贡献1833条经验 获得超4个赞
你试过类似的吗?
public function patient()
{
return $this->belongsToMany('App\Patient')->withPivot(['id']);
}
- 2 回答
- 0 关注
- 145 浏览
添加回答
举报