簡體   English   中英

沒有外鍵的laravel關系

[英]laravel relationship without foreign key

想象一下在Laravel項目中我有Traking OrderDriver 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM