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

我进行了快速搜索,发现了以下内容,但我仍然感到困惑:

推荐答案

  • 必须在(双向)关联的inversed side上指定mappedBy
  • 必须在(双向)关联的owning side上指定inversedBy

根据条令文件:

  • 许多人总是双向交往的拥有方.
  • 一个配偶总是双向交往的反面.
  • OneToOne关联的拥有方是表中包含外键的实体.

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

Php相关问答推荐

根据类别在WooCommerce中添加库存数量后缀

Msgraph-sdk-php v2如何从返回对象中获取数据?

无法在Laravel/Vue停靠容器中启动MySQL

PHP日期操作,将多个日期输出为格式化字符串

PHP中冒号的奇怪用例

如何修复条带元素中的错误&&客户端_机密&

无法在WooCommerce中发送客户笔记邮箱通知

中继器内置中继器的ACF WordPress组

如何在PHP中出现弃用警告时触发错误?

是否重新排序多维数组元素以将所有子数组中的子数组移动到元素列表的底部?

PHP -将字符串拆分为两个相等的部分,但第二个字符串中的单词更多

Azure应用程序无法访问共享文件夹

打折时更改 Woocommerce 产品名称

Woocommerce 仅在前端为登录用户提供价格折扣

从 XAMPP 运行 shell 脚本时,意外标记(附近出现语法错误

单个产品页面 WooCommerce 订阅价格字符串的更改

多个产品类别 Select 自定义 WooCommerce 插件设置页面

使用自定义规则进行 Livewire 验证不会显示错误

WooCommerce – 在新订单邮箱通知中显示产品分类计数

在WooCommerce中显示 checkout 的高级自定义字段(Advanced Custom Fields)并保存其值