В простейшем случае у меня есть класс пользователя и категории, пользователь может принадлежать нескольким категориям, определенным как таковые
class Application_Model_User {
public function __construct() {
$this->userCategory = new ArrayCollection();
}
/**
* Unidirectional - Users have multiple categories they belong to
*
* @ManyToMany(targetEntity="Application_Model_Category")
* @JoinTable(name="user_category",
* joinColumns={@JoinColumn(name="user", referencedColumnName="id")},
* inverseJoinColumns={@JoinColumn(name="category", referencedColumnName="id")}
* )
*/
}
private $userCategory;
public function getUserCategories() {
return $this->userCategory;
}
}
Добавление категории для пользователя легко, но я не могу понять или увидетьиз документа, как я бы удалил определенную связь ... Например, если бы я сделал
$thing = $em->getRepository('Application_Model_User');
$result = $thing->findOneBy(array(
'id' => (int) 5
));
foreach($result->getUserCategories() as $category) {
if($category->getName() == 'Another Sub Cat') {
// Delete this relationship
}
}
$em->flush();
, я мог бы удалить связь, если я удаляю сущность с помощью удаления, вся категория удаляется?