我正在构建我的应用,我需要在laravel中使用leftJoin
我在数据库中准备了一个查询,它运行正常。
SELECT sp.id, ssp.sale_id, ssp.product_id FROM store_products sp
LEFT JOIN store_sale_products ssp ON sp.id = ssp.product_id
WHERE ssp.sale_id IS NULL AND sp.store_id = 1
现在我在laravel上实现了这个查询,我尝试了这个
$nosaleproducts = Store_product::leftJoin('store_sale_products','store_products.id','=','store_sale_products.product_id')
->where('store_sale_products.sale_id','IS','NULL')
->where('store_products.store_id','=',session::get('store_id'))
->get(['store_products.id','store_products.product_name']);
但这没有给我带来任何结果。任何人都可以指出我的查询有什么问题吗?
答案 0 :(得分:1)
使用此
$nosaleproducts = Store_product::leftJoin('store_sale_products',function($join){
$join->on('store_products.id','=','store_sale_products.product_id');})
->whereNull('store_sale_products.sale_id')
->where('store_products.store_id','=',session::get('store_id'))
->get(['store_products.id','store_products.product_name']);