0
我正在使用mysql和cakephp 2.5MySQL和cakephp允許這種表關係嗎?
我有3個表。
- TableA與TableC有一對多的關係。 TableB與TableC有一對多的關係。
- 我想刪除父表TableB中的行而不刪除TableC中的關聯子行。
以上2條件可以在cakephp和mysql中完成嗎?如果是,那麼爲這些條件配置什麼?
我正在使用mysql和cakephp 2.5MySQL和cakephp允許這種表關係嗎?
我有3個表。
以上2條件可以在cakephp和mysql中完成嗎?如果是,那麼爲這些條件配置什麼?
默認情況下,cakephp在刪除記錄時不會刪除關聯的行。您可以使用依賴參數進行設置。
所以,如果你想從表C依賴的記錄被刪除時,從tableA的記錄被刪除,你必須讓你的關係是這樣的:
class ModelA extends AppModel {
public $hasMany = array(
'ModelC' => array(
'dependent' => true
)
);
}
而對於ModelB不應從表C時刪除行從表B的一行被刪除:
class ModelB extends AppModel {
public $hasMany = array(
'ModelC'
);
}
我認爲這是你需要的嗎?
是的,您可以從任何您想要的表中刪除行而不從其他表中刪除表。我懷疑你真的在問什麼。請嘗試通過您嘗試過的例子,您遇到的問題等等,在您的問題中更具體。 – Dave 2014-10-18 03:11:29
_你可以做什麼和_你應該做什麼_是兩個不同的討論。這聽起來好像TableC中的一行與TableA和TableB之間可以有參照完整性。在這種情況下,如果您違反參照完整性,則不應從TableB中刪除。您應該將示例數據添加到此問題。 – AgRizzo 2014-10-18 13:27:34