当我试图用它的关系来持久化用户实体时,我遇到了一个问题:
class User {
/**
* @OneToMany(targetEntity="AppBundle\Entity\UserDataAttribute", mappedBy="user", cascade={"persist", "remove"})
* @var \Doctrine\Common\Collections\Collection
*/
private $customAttributes;
}
class UserDataAttribute
{
/**
* @ManyToOne(targetEntity="AppBundle\Entity\User", inversedBy="customAttributes")
* @JoinColumn(name="user_id", referencedColumnName="id")
*/
private $user;
}
当我在数据库中将@JoinColumn指定为name="user_id"
时,请执行以下查询:
INSERT INTO user_data_attr (user_id) VALUES (null);
当我在数据库中将@JoinColumn指定为name="userId"
时,会发出以下查询:
INSERT INTO user_data_attr (userId) VALUES (2323 (the actual value)));
但我需要的是:
INSERT INTO user_data_attr (user_id) VALUES (2323);
我做错了什么?
答案 0 :(得分:1)
app/console doctrine:schema:validate
之前检查:
Symfony 2的 `app/console doctrine:schema:valid` for Symfony 3
Z