小编Sti*_*lnu的帖子

在非对象上调用成员函数removeElement()

我正在创建一个表单,以便能够向一组与特定课程相关联的学生发送电子邮件.默认情况下,必须选择给定课程的所有学生,但邮件的发件人必须能够取消选择学生以排除他们接收邮件.发送到整个组是没有问题的.从select中删除学生时会出现问题.

我正在使用Sonata Admin的sonata_type_model和自定义查询.在结果表单上,如果我不更改选择选项并提交表单,一切正常.当我从列表中删除项目时,我在提交表单后收到错误:

错误:在/xxx/xxx/xxx/vendor/sonata-project/doctrine-orm-admin-bundle/Model/ModelManager.php第607行中的非对象上调用成员函数removeElement()

经过两天的寻找答案,希望有人能帮助我朝着正确的方向前进.这是我使用的一些代码:

管理员:

$em = $this->modelManager->getEntityManager('Stnu\EduBundle\Entity\DealItem');
    $query = $em->createQueryBuilder('d')
            ->select('d')
            ->from('StnuEduBundle:DealItem', 'd')
            ->innerJoin('d.deal', 'de')
            ->where('d.course = :course')
            ->andWhere('de.status = :status')
            ->setParameter('course',$course)
            ->setParameter('status','order');

    $defaults = $query->getQuery()->getResult();


    $formMapper
            ->with('Certificaten verzenden cursus \''. $title .'\'', array('description' => 'Begeleidende tekst e-mail'))
                ->add('dealItems', 'sonata_type_model', array(
                    'required' => true,
                    'expanded' => false,
                    'btn_add' => false,
                    'multiple' => true,
                    'label' => 'Verzenden aan',
                    'query' => $query,
                    'property' => 'deal.user',
                    'data' => $defaults,
                    'validation_groups' => false
                ))
                ->add('subject', 'text', array('required' => true, 'label' => 'Onderwerp', …
Run Code Online (Sandbox Code Playgroud)

php symfony sonata

3
推荐指数
1
解决办法
1534
查看次数

标签 统计

php ×1

sonata ×1

symfony ×1