我有两个名为roles (表示用户访问角色)和modules (表示每个角色允许的模块)的MySQL DB表。每个角色可以有多个模块,每个模块可以有多个角色。
我想添加一个表示角色的crud表,该表具有允许选择所有相关模块的多选字段。那么最好的方法是什么呢?提前谢谢。
发布于 2013-08-07 01:13:50
对此可以有多种解决方案。
First one -使用带角色的扩展器的用户CRUD (应该可以):
$crud = $this->add('CRUD');
$crud->setModel('User');
if (! $crud->isEditing()) {
// add subCRUD
$sub_crud = $crud->addRef('UserRole', array(
'extra_fields' => array('role'),
'view_options' => array('entity_name' => 'Role'),
'label' => 'Roles'
));
}Second one -使用带角色的网格+网格->addSelectable($fields)(未经过测试,但仅供参考):
$grid = $this->add('Grid');
$grid->setModel('UserRole');
$grid->addSelectable('selected');Third one -使用两个带有角色(可用角色和关联角色)的列表和一些按钮将角色从一个列表“移动”到另一个列表。如下所示:(现在找不到指向适当代码页的链接):(
当然,还有更多的方法可以做到这一点。
https://stackoverflow.com/questions/18080160
复制相似问题