获取模型中的值asArray Yii2

时间:2015-12-17 18:27:43

标签: php arrays model controller yii2

我已经使用ajax从视图向我的控制器发送数组,然后我想将它与我的模型进行比较。但是我不知道如何在使用ActiveQuery时获取数组:

$riderAll = Riders::find()->select('user_id')->asArray()->all();
$tableData = array_diff($tableData, $riderAll);

将错误数组转换为字符串转换。告诉我$riderAll有什么问题?请

3 个答案:

答案 0 :(得分:2)

而不是在activeQuery中使用all() .. 您必须使用column()来提供1-D数组,以便您可以轻松应用array_diff()

试试这段代码..

   $riderAll = Riders::find()->select ('user_id')->asArray()->column();

   $tableData = array_diff($tableData,$riderAll);

在上面,您使用all()输出二维数组,因此array_dff()不适用。询问是否发生其他问题..

答案 1 :(得分:1)

尝试使用数组进行选择

set

答案 2 :(得分:1)

我有解决方案我创建了一些功能来构建相同的结构:

$(this).next("input").show();

使用方法: function getArr($array, $key) { $return = array(); foreach($array as $row) { $return[] = $row[$key]; } return $return; }

然后 $arr = $this->getArr($riderAll, 'rider_id');