我有一个像这样的数据库
我需要创建一个带有复选框的表单,将其保存到此数据库中。假设这些是我的记录的样子
目前,我有一个这样的表格,其中用户不能知道女巫行动对应于哪个功能
我喜欢这样的动作和功能一起出现
有谁知道怎么做?
我创建复选框的PHP代码如下:
$this->add(array(
'type' => 'DoctrineModule\Form\Element\ObjectMultiCheckbox',
'name' => 'functionAction',
'options' => array(
'label' => 'Functions:',
'object_manager' => $this->getObjectManager(),
'target_class' => 'Acl\Entity\FunctionAction',
'label_generator' => function ($funcAction)
{
return $funcAction->getAction()->getDescription();
},
'is_method' => true,
'find_method' => array(
'name' => 'findByRole',
'params' => array(
'role' => $this->getUser()->getRole()
)
)
)
));
答案 0 :(得分:1)
$options = array(
'head_check_callback' => function ($last, $current)
{
return ! $last || $last->getFunction()->getId() != $current->getFunction()->getId();
},
'head_label_callback' => function (\Acl\Entity\FunctionAction $current)
{
$nome = $current->getFunction()->getDescription();
return $current ? $nome : '';
}
);
$this->FormGroupMultiCheckbox()->setOptions($options)->render($this->form->get('functionAction'));
答案 1 :(得分:0)
这并不能完全回答你的问题。但是如果你想让用户知道女巫动作对应于哪个功能,你可以修改label_generator
对这个功能:
'label_generator' => function ($funcAction)
{
$action_desc = $funcAction->getAction()->getDescription();
$function_desc =$funcAction->getFunction()->getDescription();
return $action_desc.' '.$function_desc;
},
这样您就可以将标签设为:创建用户,删除帖子,...
希望这会有所帮助!