类原则的对象 orm persistentCollection不能转换为字符串



我用Symfony2制作了一个Web应用程序,其中用户与实体任务具有数组相关性。用户可以通过表格上传实体$产品,而表格传递的数据之一是与用户关联的任务。

当我尝试上传数据时,出现错误:

ContextErrorException: Catchable Fatal Error: Object of class   
DoctrineORMPersistentCollection could not be converted to string in     
C:BitNamiwampstack-5.4.23- 
0frameworkssymfonyvendordoctrinedballibDoctrineDBALStatement.php line 103

很明显,学说不知道如何保存任务的价值。

如何管理它?

我都不知道如何在我的产品实体中声明任务对象。现在就是这样:

/**
 * @var string
 *
 * @ORMColumn(name="mission", type="string", length=255)
 */
protected $mission;

更新---

我的控制器现在是:

       $form = $this->createFormBuilder($product)
           ->add('name', 'text')
           ->add('mission', 'entity', array('required' => true, 'multiple' => false, 'class' => 'AcmeManagementBundle:Mission', 'query_builder' => function($repository) { return $repository->createQueryBuilder('c')->orderBy('c.id', 'ASC'); },))              
      //...
           ->add('save', 'submit')
           ->getForm(); 

更新---

现在有效,但是我有问题。当出现上传$产品对象的表格时,还出现 -> add('mission','实体'...在此字段中,我可以看到所有已存储的任务,而不仅仅是与用户关联的任务。我应该更换控制器吗?我试图这样更改控制器:

       $product = new Product();
       $product->setMission($this->getUser()->getMission());

用于管理用户和任务之间的多托马尼关系

在user.php中:

/**
 * @var DoctrineCommonCollectionsArrayCollection
 * 
 * @ORMManyToMany(targetEntity="YourSuperBundleEntityMission", inversedBy="users", orphanRemoval=true)
 * @ORMJoinTable(name="user_mission")
 */
private $missions;

在Mission.php中:

/**
 * @var DoctrineCommonCollectionsArrayCollection
 *
 * @ORMManyToMany(targetEntity="YourSuperBundleEntityUser", mappedBy="missions", cascade={"all"}, orphanRemoval=true)
 */
private $users;

然后您的表格:

http://symfony.com/doc/current/referent/formers/types/collection.html用于管理用户表格的任务收集。

看"类型"one_answers" allow_add"

相关内容

  • 没有找到相关文章

最新更新