Я пытаюсь преобразовать следующий запрос к базе данных для использования Eloquent:
$orderitems = DB::table('order_items')
->join('orders', 'orders.id', '=', 'order_items.order_id')
->where('orders.status', 1)
->where('order_items.sku', $sku)
->select('order_items.*')
->get();
Я пробовал следующее:
$orderitems = Item::where('sku', $sku)
->with(['order' => function ($query) {
$query->where('status', 0);
}])
->get();
, но, похоже, он возвращает больше результатовчем следует.Используя DB::getQueryLog
, я вижу, что запрос order_items
не соединяется с таблицей заказов:
select * from `order_items` where `stock_code` = ? and `order_items`.`deleted_at` is null
Нужно ли создавать новое отношение между элементами заказа и заказом и добавлять дополнительные данные в этом месте??
Отношения:
- В заказе есть много предметов
- У элемента есть один заказ