2017-02-04 32 views
1

我建設我的應用程序,我需要使用leftJoin在laravel左側的接合部在Laravel

我準備在數據庫中的查詢,並能正常工作。

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

使用此

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