我坚持要获得正确的搜索结果。最初的结果是正确的,但是当我尝试搜索时,它只卡了一个值。
这是我的代码,请提供指导和帮助。
$model
->where('is_back_order', true)
->whereHas('products', function ($q){
$q->where('order_products.is_back_order_product', '=' , true)->where('order_products.arrival_status', '=', 'awaiting_for_arrival');
})
->join('presta_status', function($join) use ($presta_filters) {
$join->on('orders.store_id', '=', 'presta_status.store_id')
->on('orders.status', '=', 'presta_status.status_code')
->whereNotIn('presta_status.status', $presta_filters);
});
在此查询下,我在搜索时未得到正确的结果。 这是完整的代码。 https://gist.github.com/mumer44/0359a47591e7d0f514267ac74a89ebf9
答案 0 :(得分:0)
$model
->join('presta_status', function($join) use ($presta_filters) {
$join->on('orders.store_id', '=', 'presta_status.store_id')
->on('orders.status', '=', 'presta_status.status_code');
});
->whereNotIn('presta_status.status', $presta_filters)
->where('is_back_order', true)
->whereHas('products', function ($q){
$q->where('order_products.is_back_order_product', '=' , true)
->where('order_products.arrival_status', '=', 'awaiting_for_arrival');
})