當加入兩個表之間的關係,我提出將觸發到On-更新和-刪除外部表的事件的選擇。現在我明白,當外表被刪除時,On-Delete事件將在本地表中被觸發。在-更新和-刪除觸發器
這種情況的一個實例是在一對一的關係的用戶和配置文件。在Propel中,這提供了一些額外的功能,使查找附加記錄比使用外鍵查詢簡單。現在,我將主鍵設置爲具有CASCADE的On-Delete觸發器的用戶表的外鍵。這意味着當我刪除用戶記錄時,配置文件記錄也會被刪除。現在
,什麼將層疊在更新觸發做?使用propel時,我可以在不保存的情況下更改配置文件屬性,然後在用戶上調用save,如果我爲配置文件設置了級聯更新設置,保存用戶時會自動保存/更新配置文件信息?
這是如此令人困惑的原因是因爲表格不知道Propel,所以必須有另外的On-Update原因,並且the Propel documentation只解釋了使用On-Delete觸發器。
任何一種關於推進有識之士將不勝感激。一些通用的定義不是我正在尋找的。
好了,所以如果我通過調用'getProfile()'(因爲我的關係1-1)水合物分佈和編輯它,我只需要調用'保存()'用戶和配置文件會自動更新(知道配置文件已被修改)? – 2012-02-16 19:12:25
是的。關係的另一面也一樣。 – prodigitalson 2012-02-16 19:15:00
只爲跟進。如果我執行以下操作:'$ profile = $ user-> getProfile();'然後我修改它:'$ profile-> setName('Member');',然後當我保存'$ user'時,'$ profile'也會被保存,對不對? (當您使用One-To-One關係時,'getProfile()'是一種內置的Propel方法,請參見OP中的鏈接) – 2012-02-16 20:59:42