gpt4 book ai didi

php - inversedBy 和 mappedBy 有什么区别?

转载 作者:IT老高 更新时间:2023-10-28 11:51:55 28 4
gpt4 key购买 nike

我正在使用 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;

我快速搜索了一下,发现如下,但我还是一头雾水:

最佳答案

  • ma​​ppedBy 必须在(双向)关联的反面上指定
  • inversedBy 必须在(双向)关联的拥有方上指定

来自学说文档:

  • ManyToOne 始终是双向关联的拥有方。
  • OneToMany 始终是双向关联的反面。
  • OneToOne 关联的拥有方是具有包含外键的表的实体。

https://www.doctrine-project.org/projects/doctrine-orm/en/latest/reference/unitofwork-associations.html

关于php - inversedBy 和 mappedBy 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12493865/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com