Symfony 在细枝模板中映射和显示
嗨,我正在尝试创建这样的映射Symfony 在细枝模板中映射和显示,symfony,doctrine-orm,twig,Symfony,Doctrine Orm,Twig,嗨,我正在尝试创建这样的映射 class Users { /** * @var integer * * @ORM\Column(name="id_users", type="smallint", nullable=false) * @ORM\Id * @ORM\GeneratedValue(strategy="IDENTITY") */ private $id; /** * @var string
class Users
{
/**
* @var integer
*
* @ORM\Column(name="id_users", type="smallint", nullable=false)
* @ORM\Id
* @ORM\GeneratedValue(strategy="IDENTITY")
*/
private $id;
/**
* @var string
*
* @ORM\Column(name="name", type="string", length=100, nullable=true)
*/
private $name;
/**
*
* @var ArrayCollection
* @ORM\OneToMany(targetEntity="UsersEmailAddresses", mappedBy="users")
* @ORM\JoinColumn(name="id_users", referencedColumnName="users_id")
*/
private $email;
及
当我试图用一个用户显示多封电子邮件时,比如
<td>{{ entity.name }}</td>
<td><ul>
{% for e in entity.email %}
<li>{{ e.email }}</li>
{% endfor %}
</ul></td>
{{entity.name}
{entity.email%中的e的%s}
- {{e.email}
{%endfor%}
我得到的错误类似于在呈现模板的过程中抛出了一个异常(/var/www/symfony/vendor/doctrine/orm/lib/doctrine/orm/Persisters/basicentypersister.php第1575行的/var/www/symfony/src/Test/UserBundle/Resources/views/users/index.html.twig中的用户)
22行是循环的
,这里有一个映射错误。文件:,以及
- ReferencedColumnName引用相关实体的ID字段
- name是包含要创建的外键的额外列的名称-
- referencedColumnName是相关实体的外键
- 您可以在拥有的上定义多个对象,在相反的一侧定义一个对象
- 不要两面都使用一个omany
- joinColumn定义必须位于您的拥有方(即使用inversedBy的定义)
如果您有多对一的用户关系。。。到一个地址你不知道的。。
JoinColum将位于您的用户实体上(也称为双向关联的拥有方)
。。应该是
* @ORM\JoinColumn(name="id_users", referencedColumnName="id_users_email_adresses")
*/
但是。。。在您的情况下…
一个用户应有多个地址。。。地址将是双向一对多关系的拥有方
用户
一家公司,mappedBy
地址
多通,通过(+列)反转
提示:
您可以完全编辑@JoinColumn,因为它将自动生成
实体名称通常应为单数
为什么数据库中有这么多复杂的id列……让一个表用户有一个列id还不够吗?我不知道为什么,我总是使用类似id
+\u table\u name的结构更新我的答案-有什么不清楚或需要更多解释的吗?否则请接受:)别忘了用条令更新你的模式:模式:更新——强制你从答案中删除了接受——有什么不起作用的吗?我能帮什么忙:)
* @ORM\JoinColumn(name="id_users", referencedColumnName="users_id")
*/
* @ORM\JoinColumn(name="id_users", referencedColumnName="id_users_email_adresses")
*/