小编awa*_*tar的帖子

Doctrine 2 ManyToMany级联

是否有可能在原则2创建两个对象是多对多的关联和呼叫仅坚持对其中一个方法来保存?

用户实体:

    /**
 * Owning Side
 *
 * @ManyToMany(targetEntity="Role", inversedBy="users", cascade={"persist"})
 * @JoinTable(name="user_roles",
 *      joinColumns={@JoinColumn(name="user_id", referencedColumnName="id")},
 *      inverseJoinColumns={@JoinColumn(name="role_id", referencedColumnName="id")}
 *      )
 */
public $roles;
Run Code Online (Sandbox Code Playgroud)

角色实体:

    /**
 * Inverse Side
 *
 * @ManyToMany(targetEntity="User", mappedBy="roles")
 */
public $users;
Run Code Online (Sandbox Code Playgroud)

保存:

    $role = new Role();

    $user = new User();

$user->roles->add($role);
$role->users->add($user);

$em->persist($user);
$em->flush();
Run Code Online (Sandbox Code Playgroud)

它不起作用并产生错误"通过未配置为级联持久操作的关系找到新实体:Entities\Role @ 0000000004a29c11000000005c48cb75.显式保留新实体或在关系上配置级联持久操作."

php orm doctrine

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

标签 统计

doctrine ×1

orm ×1

php ×1