laravel 5.4查询中的变量参数,给出错误的结果?

时间:2017-07-29 06:30:05

标签: php laravel-5

class

以上查询给出了错误的结果。但是在查询给出正确的结果之后。

$ids = '1, 2, 3';
$data = Modelname::whereNotIn('id', [$ids])->take(1)->get();

那么,如何在查询(laravel 5.4)中传递变量参数。

2 个答案:

答案 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();
}

希望这有帮助。