基于可变数据,laravel在laravel中不起作用

时间:2018-11-25 06:06:25

标签: php laravel

当我要内爆时,我使用$occu = implode(',',$_POST["occupation"])内爆,结果为1,2,4

现在,当我在如下查询中使用$occu时:

$total = DB::table('store')
->WhereIn('occupation_id',[$occu])
->get();

然后,它仅获取ID 1,而不获取2和4。

但是,如果我以这种方式使用:

$total = DB::table('store')
->WhereIn('occupation_id',[1,2,4])
->get();

然后获取所有三个ID。

因此,我想知道为什么采用基于变量的内爆第一个id而不是其他两个。

1 个答案:

答案 0 :(得分:1)

在Laravel中,我们需要为whereIn函数提供值的数组。但是您要提供用逗号分隔的字符串。

您应该改用它

$arrVal = $_POST['ids'];
$items = DB::table('store')
                       ->whereIn('field', $arrVal)
                       ->get();

上面是示例代码。请尝试这个。