YII2 获取 id 不等于数组元素的表行
Posted
技术标签:
【中文标题】YII2 获取 id 不等于数组元素的表行【英文标题】:YII2 get table rows where id is not equal to array elements 【发布时间】:2015-08-06 07:39:35 【问题描述】:我有一个元素数组,格式为:
Array ( [0] => 16 [1] => 14 [2] => 1 [3] => 13 )
现在我只需要提取 ID 不是数组中的值之一的行。现在我正在使用以下代码:
$items = ArrayHelper::map(User::find()->where(['<>', 'id', $array])->all(), 'id', 'name');
不幸的是,这会将数据库中的 id 与数组的第一个元素进行比较。
建议?
【问题讨论】:
【参考方案1】:尝试使用not in
而不是<>
【讨论】:
好的,谢谢!早些时候也尝试过,但不知何故它拒绝工作。【参考方案2】:您可以尝试以下代码示例,
$arr = [16,14,1,13];
$items = ArrayHelper::map(User::find()->where(['id'=>$arr])->all(), 'id', 'name');
它对我有用。
【讨论】:
以上是关于YII2 获取 id 不等于数组元素的表行的主要内容,如果未能解决你的问题,请参考以下文章