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