我需要使用IN
运算符从数据库中获取数据。我尝试使用它如下所示并得到一个错误:
$pr =DB::('select * from prstuff p where p.pid in (select pid from prdrop)');
我是Laravel的新手,并且不知道如何使用像IN
这样的运算符,所以请向我解释如何使用它。
答案 0 :(得分:4)
您可以在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();
答案 1 :(得分:3)
您没有在db类上调用任何函数。您可以像这样DB::select ()
$pr =DB::select('select * from prstuff p where p.pid in (select pid from prdrop)');