2012-09-18 6 views
32

bu:- Bir sınıf <strong>Kategori</strong> içeren var Doctrine2

/** 
* @ORM\OneToMany(targetEntity="Friend", mappedBy="category") 
* @ORM\OrderBy({"name" = "ASC"}) 
*/ 
protected $friends; 

ve bununla bir sınıf Arkadaş:

/** 
* @ORM\ManyToOne(targetEntity="Category", inversedBy="friends") 
* @ORM\JoinColumn(name="category_id", referencedColumnName="id", onDelete="SET NULL") 
*/ 
protected $category; 

Ne İsterseniz bu kategoriden bazı arkadaşlar varsa kategorileri silmek mümkün olacak ve eğer varsa - bu arkadaşların kategori alanı NULL olarak ayarlanacak. Ardından OneToMany için, ben OneToMany ek açıklamada cascade={"remove"} kullanarak çalıştı yukarıda gösterilen ve hiçbir şey çalıştı ne denedik

Ben ManyToOne ek nota onDelete="CASCADE" koymak için çalıştı! Ben de bir örnek bulamadım. Lütfen bana yardım eder misiniz? Bu bir çılgın cevabı olmalı, ancak veritabanı şemasını güncelleştirdiniz mi?

cevap

47

onDelete="SET NULL" veritabanı düzeyinde, innoDB üzerinde çalışmalıdır.

+1

Siz dehasınız! Çok teşekkür ederim! – Faery

İlgili konular