【发布时间】:2016-07-26 20:20:28
【问题描述】:
我无法让消息的多个复选框列表正常工作。我希望能够选择几个条目并将它们删除/或移动到垃圾邮件文件夹。我在尝试var_dump(出于调试目的)data = $form->getData() 的内容时卡住了,表达式var_dump(data['id']) 像 Symfony3 的整个代码库一样打印:D(这对我来说完全出乎意料)我的代码基于
Build a form having a checkbox for each entity in a doctrine collection 并使用 Doctrine。
这是代码
class MessageEntitySelectByIdentityType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add('id', EntityType::class, array(
'required' => false,
'class' => 'MonoDomainBundle:Message',
// 'property' => 'id',
'property_path' => '[id]', # in square brackets!
'multiple' => true,
'expanded' => true
));
}
public function setDefaultOptions(OptionsResolver $resolver)
{
$resolver->setDefaults(array(
'data_class' => Message::class,
'csrf_protection' => false
));
}
}
public function mailboxAction(Request $request)
{
$user = $this->getDoctrine()->getManager()->getRepository('MonoDomainBundle:User')->find(1);
$collection = $this->getDoctrine()->getRepository(Message::class)->getMyInbox($user);
$form = $this
->createForm(
\Mono\DomainBundle\Form\MessageEntitySelectByIdentityType::class,
$collection
);
$form->add('spam', SubmitType::class);
$form->add('delete', SubmitType::class, ['label' => 'Trash']);
$form->handleRequest($request);
$this->addFlash('success', 'settings.simplified.general.text.success');
if ($form->isValid()) {
$data = $form['id']->getData();
var_dump($data);
【问题讨论】: