离开加入Laravel

时间:2017-02-04 13:24:26

标签: php laravel laravel-5 laravel-5.3

我正在构建我的应用,我需要在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']);

但这没有给我带来任何结果。任何人都可以指出我的查询有什么问题吗?

1 个答案:

答案 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']);