【发布时间】:2020-11-30 01:48:57
【问题描述】:
美好的一天,我正在尝试从 Eloquent 模型中返回具有关系的数据。 有没有办法(跳过/不返回)关系返回空数组作为结果的订单?
Order::with(['products' => function ($query) {
$query->whereHas('progress', function ($query) {
$query->where('progress_id', 30)->orWhereBetween('progress_id', [60, 90]);
});
$query->whereHas('product', function ($query) {
$query->where('vendor_id', 3);
})->with(['product' => function ($query) {
$query->select('id', 'identifier', 'reference', 'shipping_id');
}]);
$query->select('id', 'order_id', 'product_id', 'quantity');
}])
->whereHas('products')
->where('status_id', '=', 15)
->select('orders.id', 'orders.customer_id', 'orders.created_at')
->get();
所以在这种情况下,我不想收到该订单,因为它没有产品。 另外我不明白为什么我什至会得到结果,有些订单的 status_id = 15 但不是 vendor_id = 3。 怎么做?感谢您的阅读。
【问题讨论】:
标签: php mysql laravel eloquent laravel-query-builder