0
我需要使用IN
運算符從數據庫中獲取數據。我試過如下使用,並得到了一個錯誤:如何在laravel查詢中使用IN運算符(eleqouent和原始查詢)?
$pr =DB::('select * from prstuff p where p.pid in (select pid from prdrop)');
我是新來的Laravel,不知道如何使用運營商如IN
,所以請向我解釋如何使用它。
我需要使用IN
運算符從數據庫中獲取數據。我試過如下使用,並得到了一個錯誤:如何在laravel查詢中使用IN運算符(eleqouent和原始查詢)?
$pr =DB::('select * from prstuff p where p.pid in (select pid from prdrop)');
我是新來的Laravel,不知道如何使用運營商如IN
,所以請向我解釋如何使用它。
您可以設置自定義的DB::raw()
這樣的選擇:
DB::select(DB::raw('select * from prstuff p where p.pid in (select pid from prdrop)'));
,或者您可以使用whereIn()
這樣的:
DB::table('prstuff')
->select('*')
->whereIn('pid', function($query)
{
$query->select('pid')
->from('prdrop');
})
->get();
你沒有在你的db類上調用任何函數。您可以調用選擇功能類似這樣DB::select()
$pr =DB::select('select * from prstuff p where p.pid in (select pid from prdrop)');
其實我忘了在這裏寫'選擇'.. 我用同樣的方式,但沒有工作。 我有以下asnwer工作 – rranj
當然你也可以使用DB :: raw來包裝你的查詢 – oseintow