ho due entitàORM Doctrine ManyToOne aggiornata CASCADE (Symfony)
class Promotor
{
/**
* @ORM\ManyToOne(targetEntity="Ciudad", inversedBy="promotor")
* @ORM\JoinColumn(name="ciudad_id", referencedColumnName="id", nullable=false)
*/
protected $ciudad;
e
class Ciudad
{
/**
* @var integer
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @var string
*
* @ORM\Column(name="nombre", type="string", length=50)
*/
private $nombre;
A "Promotor" può vivere in uno "Ciudad" (City). E in una "Ciudad" (Città) può vivere molti "Promotori".
se aggiungo onDelete = "a cascata" in JoinColumn
/**
* @ORM\ManyToOne(targetEntity="Ciudad", inversedBy="promotor")
* @ORM\JoinColumn(name="ciudad_id", referencedColumnName="id", nullable=false, onDelete="CASCADE")
*/
protected $ciudad;
è generare il codice successivo
ALTER TABLE promotor DROP FOREIGN KEY FK_BF20A37FE8608214;
ALTER TABLE promotor ADD CONSTRAINT FK_BF20A37FE8608214 FOREIGN KEY (ciudad_id)
REFERENCES Ciudad (id) ON DELETE CASCADE
ma anche mi piace fare CASCADE aggiornata. Provo con onUpdate = "a cascata", ma doesn' lavoro
[Doctrine\Common\Annotations\AnnotationException]
[Creation Error] The annotation @ORM\JoinColumn declared on property Web\PromotorBundle\Entity\Promotor::$ciudad does not have a property named
"onUpdate". Available properties: name, referencedColumnName, unique, nulla
ble, onDelete, columnDefinition, fieldName
dall'errore ho capito che la proprietà onUpdate non esiste, ma .. C'è un modo per fare cascata su aggiornamento?
ho trovato questa nota nella documentazione della dottrina, ma non capisco. Non è più necessario controllare la cascata durante l'aggiornamento. In teoria non cambierà mai gli id http://www.doctrine-project.org/jira/browse/DDC-725?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel – JGrinon