YII2 获取 table 行,其中 id 不等于数组元素
YII2 get table rows where id is not equal to array elements
我有一个元素数组,形式如下:
Array ( [0] => 16 [1] => 14 [2] => 1 [3] => 13 )
现在我只需要提取 ID 不是数组中值之一的行。现在我正在使用以下代码:
$items = ArrayHelper::map(User::find()->where(['<>', 'id', $array])->all(), 'id', 'name');
不幸的是,这会将数据库中的 ID 与数组的第一个元素进行比较。
建议?
尝试使用 not in
而不是 <>
您可以尝试以下代码示例,
$arr = [16,14,1,13];
$items = ArrayHelper::map(User::find()->where(['id'=>$arr])->all(), 'id', 'name');
对我有用。
我有一个元素数组,形式如下:
Array ( [0] => 16 [1] => 14 [2] => 1 [3] => 13 )
现在我只需要提取 ID 不是数组中值之一的行。现在我正在使用以下代码:
$items = ArrayHelper::map(User::find()->where(['<>', 'id', $array])->all(), 'id', 'name');
不幸的是,这会将数据库中的 ID 与数组的第一个元素进行比较。
建议?
尝试使用 not in
而不是 <>
您可以尝试以下代码示例,
$arr = [16,14,1,13];
$items = ArrayHelper::map(User::find()->where(['id'=>$arr])->all(), 'id', 'name');
对我有用。