![](/img/trans.png)
[英]How to define a OneToMany relation with multiple mappedBy columns and one of them has fixed value in doctrine 2 & symfony 4?
[英]Symfony&Doctrine2: Value of `mappedBy` annotation?
我正在使用教义2学习Symfony 3。
当我在Doctrine实体中具有OneToMany
关系时,我到底要在mappedBy
注释中放什么呢?
想象一下这个简单的例子:
<?php
namespace AppBundle\Entity;
/**
* @ORM\Entity
* @ORM\Table(name="blog_category")
*/
class Category
{
// ...
/**
* @ORM\OneToMany(targetEntity="Article", mappedBy="category")
*/
private $articles;
// ...
}
为什么“类别”的正确值是mappedBy
? 为什么不是“ blog_category”或“ Category” (大写的“ C”)? 还是“ AppBundle:类别” ?
作为补充,几乎在理论上您可以做的所有事情(肯定可以应用于任何其他ORM / ODM),在几乎每种情况下(QueryBuilder,findBy方法...),您都将使用属性名称而不是列名称。
原因很简单,无论数据库引擎是什么,ORM都会处理对象及其属性,抽象出真实的表及其列。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.