Представьте себе, в проекте Laravel у меня есть Traking
Order
и Driver
Eloquent модели.
В trakings
таблице у меня есть столбец tracking_key
.в таблице drivers
у меня также есть столбец tracking_key
.
Например, если драйверы tracking_key
равны x, в таблице trakings
содержится много информации об отслеживании с tracking_key
x.
Так что теперь у меня есть $order = new Order::with('driver')
;Он работает нормально, но теперь в этом запросе я хочу получить информацию также из таблицы trakings
(отслеживание информации внутри таблицы trakings
, которая соответствует tracking_key
драйвера).
Как вы можете видеть, я не могуесть тип отношений Driver::with('trakings')
, поскольку у меня нет внешних ключей в этих двух таблицах.
Я пытался:
$order = new Order::with(['driver' => function($query){
$query->join('trackings', 'trackings.tracking_key', '=', 'drivers.tracking_key');
}])
Но результат был странным, и я думаю, что это не работает.Так что мне делать?