Структура DBORDERS:
id
status_id
.....
ORDER_ITEMS:
id
order_id
.....
SCHEDULE_SLOTS
id
order_item_id
......
Как мне у модели
SCHEDULE_SLOTS, сделать отношение к
ORDERS через
ORDER_ITEMS?
// Отношение «один-к-одному» без проблем
public function getOrderItem() {
return $this->hasOne('ModelOrderItem', 'id', 'order_item_id');
}
// А вот тут начинаются трудности
public function getOrder() {
return $this->hasOneThrough('ModelOrder', 'ModelOrderItem', ..... );
}
Получить саму информацию то на самом деле я могу, если указать отношение в
ORDER_ITEMS:
public function getOrderItem() {
return $this->hasOne('ModelOrderItem', 'id', 'order_item_id')->with(['getOrder']);
}
Но у меня конечная задача, делать выборку
SCHEDULE_SLOTS, указав условия по полям именно в
ORDERS. Т.е. грубо говоря у меня вот такой код выборки, но самих отношений getOrder, нет.
$returnData = ModelScheduleSlots::with(['getOrderItem', 'getOrder'])
->whereHas('getOrder', function ($q) {
$q->where('status_id', 1);
});
Ну или пока не поздно структуру DB можно подкорректировать. Главное понять что.