class
以上查询给出了错误的结果。但是在查询给出正确的结果之后。
$ids = '1, 2, 3';
$data = Modelname::whereNotIn('id', [$ids])->take(1)->get();
那么,如何在查询(laravel 5.4)中传递变量参数。
答案 0 :(得分:1)
使用以下方式制作数组
$ids = '1, 2, 3';
$idArr = explode(", ",$ids);
$data = Modelname::whereNotIn('id', $idArr)->take(1)->get();
在ID $ids = '1, 2, 3';
和exploding by string
答案 1 :(得分:0)
whereNotIn
接受array
作为其第二个参数。
因此,如果您在第一个场景中使用逗号分隔的字符串,则需要将其分解为数组,然后将其传递给whereNotIn
。
$ids = '1,2,3';
$idsArray = explode(',', $ids); // produces [1, 2, 3]
// it's always a good idea to add a check because if array is empty then an SQL exception will be thrown.
if(count($idsArray) > 0) {
$data = Modelname::whereNotIn('id', $idsArray)->take(1)->get();
}
希望这有帮助。