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 關注
- 177 瀏覽
添加回答
舉報