受注情報のOrderテーブルから一覧表示し、
一覧の中にあるサブループに、受注明細があるケースで、商品IDが受注明細に含まれているとします。
商品IDは、商品マスターテーブルに登録されている商品IDとします。
受注情報-受注詳細情報-商品マスタとつなげたい時に、ModelのhasManyやhasOneにwithでつなげることができる。
/** Order Model内
* 受注明細とリレーションし、受注明細は商品マスタとリレーションしたデータを取得する。
*/
public function orderItems()
{
return $this->hasMany('App\Models\OrderItem','orderID','id')->with('item')->withTrashed();
}
================================================
/** OrderItem Model内
* Items と関連付け
*/
public function item()
{
return $this->hasOne('App\Models\Items','id','itemID')->withTrashed();
}
これはとても素晴らしいです。withTrashed()を付けておき、
ソフトデリートの商品マスタからも、取得することができるようにしておく。
これを早く知りたかったですね。