【发布时间】:2015-09-17 22:34:51
【问题描述】:
我需要将机器分配给机器组 (m:n)。机器的安装使得有必要使用带有 checkboxcolumn 的 gridview 将机器分配给一个组。我得到了保存关系的工作,但我没有弄清楚如何在加载时在gridview中检查所有已分配的机器。我的 gridview 的内容是一个基于 MySQL-View 的数据提供者。与
'checkboxOptions' => function($model, $key, $index, $column) {
return ['checked' => true];
}
可以选中所有复选框。但是当我尝试这样做时
'checkboxOptions' => function($model, $key, $index, $column) {
$bool = in_array($model->id_machine, common\models\MachineGroup::getAssignedMachines());
return ['checked' => $bool];
}
抛出错误:“不能使用 yii\web\View 类型的对象作为数组”。实际上我不明白这里有什么问题,但我找不到将所有已选择机器的数组传递给这个函数的方法(我尝试了很多)。当我在函数中手动定义一个虚拟数组时,一切正常。在这里需要一些帮助...谢谢!
【问题讨论】:
-
发生错误时,错误信息中带有
$bool = in_array($model->id_machine, common\models\MachineGroup::getAssignedMachines());的行高亮显示? -
不...这是错误消息:
-
1.在 C:\xampp\htdocs\eddb1\vendor\yiisoft\yii2\db\ActiveRelationTrait.php 第 458 行
-
突出显示的行是:"if (($value = $model[$attribute]) !== null) {"
-
common\models\MachineGroup::getAssignedMachines()方法中可能有什么东西?您可以将其代码添加到问题中吗?
标签: gridview checkbox yii2 datagridviewcolumn