[英]laravel relationship without foreign key
想象一下在Laravel項目中我有Traking
Order
和Driver
Traking
模型。
在trakings
表我列tracking_key
。 在drivers
表中,我也有列tracking_key
。
例如,如果驅動程序tracking_key
是x,那么在trakings
表中有很多tracking_key
x的跟蹤信息。
所以現在我有了$order = new Order::with('driver')
; 它工作正常,但是現在在此查詢中,我也想從trakings
表中獲取信息( trakings
表中與驅動程序的tracking_key
相匹配的tracking_key
)。
如您所見,由於在這兩個表中沒有外鍵,所以我沒有Driver::with('trakings')
類型的關系。
我試過了:
$order = new Order::with(['driver' => function($query){
$query->join('trackings', 'trackings.tracking_key', '=', 'drivers.tracking_key');
}])
但是結果是stranje,我認為這行不通。 所以我該怎么做?
您可以像這樣使用嵌套的緊急負載:
Order::with('driver.trackings')
這將是與訂單相關的負載驅動程序以及與驅動程序相關的跟蹤
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.