0
實際上,在我的場景中,我在模型的構造函數中綁定了關係。實際上,我需要在模型關係中使用模型屬性,並且CakePHP阻止在默認關係中使用模型屬性。所以我不能使用依賴不能在__construct函數中綁定關係時起作用 - CAKEPHP
public $hasMany = array(
'ProductDetail' => array(
'className' => 'ProductDetail',
'conditions' => array(
'ProductDetail.language_id' => $this->languageId //Throws error
),
'dependent' => true
),
);
所以我做了一個小把戲。我在模型的__construct()
函數上綁定了模型關係。以下是我的代碼
public function __construct($id = false, $table = null, $ds = null) {
parent::__construct($id, $table, $ds);
$this->bindModel(array(
"hasMany" => array(
'ProductDetail' => array(
'className' => 'ProductDetail',
'dependent' => true,
'conditions' => array(
'ProductDetail.language_id' => $this->languageId //Doesn't throw an error
)
)
)
)
);
}
這個技巧適用於每種情況。但是當我刪除一個產品時,依賴模型不能被刪除,當我根據__construct()
函數綁定關係時。有什麼辦法可以使這個技巧工作,或者我需要手動觸發相關功能?