相关疑难解决方法(0)

Doctrine2.3和OneToOne级联持续存在似乎不起作用

我有两个entite(User和UserPreferences),我想要单向映射OneToOne.

代码看起来像这样:

/**
 * @ORM\Table("users")
 * @ORM\Entity
 */
class User
{
    /**
     * @ORM\Column(name="id", type="integer")
     * @ORM\Id
     */
    protected $id;

    ...

    /**
     * @ORM\Column(name="user_preferences_id", type="integer")
     * @ORM\OneToOne
     * (
     *      targetEntity="UserPreferences",
     *      cascade={"persist"}
     * )
     */
    protected $userPreferences;

    public function __construct() {
        $this->userPreferences = new UserPreferences();
    }
}


/**
 * @ORM\Table("user_preferences")
 * @ORM\Entity
 */
class UserPreferences extends UserPreferencesEntity
{
    /**
     * @ORM\Id
     * @ORM\Column(name="user_id", type="integer")
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    protected $id;

    ...
}
Run Code Online (Sandbox Code Playgroud)

现在,当创建新用户时,将使用新的UserPreferences对象初始化userPreferences.当试图坚持下去时user,Doctrine抛出一个异常,声称

A new entity was found …

php mysql orm doctrine-orm

5
推荐指数
1
解决办法
1万
查看次数

标签 统计

doctrine-orm ×1

mysql ×1

orm ×1

php ×1