相关疑难解决方法(0)

inversedBy和mappedBy有什么区别?

我正在使用Zend Framework 2和Doctrine 2开发我的应用程序.

虽然书面方式说明,我无法理解之间的差异mappedByinversedBy.

我应该什么时候使用mappedBy

我应该什么时候使用inversedBy

我什么时候不用?

这是一个例子:

 /**
 *
 * @ORM\OneToOne(targetEntity="\custMod\Entity\Person", mappedBy="customer")
 * @ORM\JoinColumn(name="personID", referencedColumnName="id")
 */
protected $person;

/**
 *
 * @ORM\OneToOne(targetEntity="\Auth\Entity\User")
 * @ORM\JoinColumn(name="userID", referencedColumnName="id")
 */
protected $user;

/**
 *
 * @ORM\ManyToOne (targetEntity="\custMod\Entity\Company", inversedBy="customer")
 * @ORM\JoinColumn (name="companyID", referencedColumnName="id")
 */
protected $company;
Run Code Online (Sandbox Code Playgroud)

我做了一个快速搜索,发现了以下内容,但我仍感到困惑:

php doctrine-orm

98
推荐指数
3
解决办法
5万
查看次数

在多个关系symfony2中的表单中设置multiple ='false'

我在两个实体A和B之间有多对多的关系.

所以加入表单时,为了增加entityAentityB,我做了以下内容:

$builder          
    ->add('entityAs', 'entity', array(
      'class'    => 'xxxBundle:EntityA',
      'property' => 'name',
      'multiple' => true,
    ));}
Run Code Online (Sandbox Code Playgroud)

一切都很好.

但是根据entityA的字段类型,我想有时将'multiple'设置为false,所以我正在做以下事情:

if($type=='a'){
    $builder          
        ->add('entityAs', 'entity', array(
          'class'    => 'xxxBundle:entityA',
          'property' => 'name',
          'multiple' => true,
        ));}

else {
    $builder          
        ->add('entityAs', 'entity', array(
          'class'    => 'xxxBundle:entityA',
          'property' => 'name',
          'multiple' => false,

        ));
}
Run Code Online (Sandbox Code Playgroud)

这给了我以下错误:

Catchable Fatal Error: Argument 1 passed to Doctrine\Common\Collections\ArrayCollection::__construct() must be an array, object given, called in C:\wamp\www\Symfony\vendor\doctrine\orm\lib\Doctrine\ORM\UnitOfWork.php on line 519 and defined in C:\wamp\www\Symfony\vendor\doctrine\common\lib\Doctrine\Common\Collections\ArrayCollection.php line …
Run Code Online (Sandbox Code Playgroud)

php symfony

2
推荐指数
1
解决办法
1947
查看次数

标签 统计

php ×2

doctrine-orm ×1

symfony ×1