簡體   English   中英

Symfony-保持多對多關系

[英]Symfony - persisting ManyToMany relation

還有其他方法可以更好地編寫這段代碼嗎? 我在這里想念什么嗎?

$user->addEntity($entity);
$entity->addUser($user);


$em = $this->getDoctrine()->getManager();
$em->persist($user);
$em->persist($entity);

您只能從關系的擁有方進行添加; 那么您只能persist該對象並將其刷新。

例如,如果您的注釋是這樣的

class User
{
  /**
   * @ORM\ManyToMany(targetEntity="Entity", inversedBy="users")
   * @ORM\JoinTable(name="user_entity")
   */
  protected $entities
}

class Entity
{
  /**
   * @ORM\ManyToMany(targetEntity="User", mappedBy="entities")
   */
  protected $users;
}

你可以這樣做

$user->add($entity); 

$em = $this->getDoctrine()->getManager();
$em->flush();

如果從數據庫中獲取了$user並且它不是一個新對象,則可以跳過persist

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM