Tôi có hai thực thểORM thuyết ManyToOne vào cập nhật CASCADE (Symfony)
class Promotor
{
/**
* @ORM\ManyToOne(targetEntity="Ciudad", inversedBy="promotor")
* @ORM\JoinColumn(name="ciudad_id", referencedColumnName="id", nullable=false)
*/
protected $ciudad;
và
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" có thể sống trong một "Ciudad" (City). Và trong một "Ciudad" (Thành phố) có thể sống nhiều "Promotores".
Nếu tôi thêm onDelete = "CASCADE" trong JoinColumn
/**
* @ORM\ManyToOne(targetEntity="Ciudad", inversedBy="promotor")
* @ORM\JoinColumn(name="ciudad_id", referencedColumnName="id", nullable=false, onDelete="CASCADE")
*/
protected $ciudad;
nó tạo mã tiếp theo
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
mà còn tôi thích làm CASCADE vào cập nhật. Tôi thử với onUpdate = "CASCADE" nhưng nó doesn' công việc
[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
By lỗi Tôi hiểu rằng tài sản onUpdate không tồn tại, nhưng .. Có cách nào để làm thác trên bản cập nhật?
tôi thấy ghi chú này trong tài liệu của học thuyết, nhưng tôi không hiểu. Nó không còn cần thiết để kiểm soát các tầng trên cập nhật. Về lý thuyết, nó sẽ không bao giờ thay đổi các id http://www.doctrine-project.org/jira/browse/DDC-725?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel – JGrinon