当我要内爆时,我使用$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而不是其他两个。
答案 0 :(得分:1)
在Laravel中,我们需要为whereIn
函数提供值的数组。但是您要提供用逗号分隔的字符串。
您应该改用它
$arrVal = $_POST['ids'];
$items = DB::table('store')
->whereIn('field', $arrVal)
->get();
上面是示例代码。请尝试这个。