1
我試圖在MyISAM數據庫中實現級聯的UPDATE和DELETE效果(類似於可以在具有外鍵的InnoDB表中創建的效果)。兩個示例表:Zend_Db_Table級聯刪除和更新
- 專輯
- 照片(有album_id列,它是一個「外鍵」的專輯表)
現在,當我在專輯表我想刪除行像Zend_Db_Table自動刪除照片表中的所有相關行。這是我在專輯表:
protected $_name = 'albums';
protected $_dependentTables = array(
'Photos'
);
而且我有這個照片中的表:
protected $_name = 'photos';
protected $_referenceMap = array(
'Album' => array(
'columns' => array('album_id'),
'refTableClass' => 'Albums',
'refColumns' => array('id')
)
);
是,當我刪除專輯表中的一行,從相冊中的照片做沒有被刪除。
這是我如何刪除專輯:
public function remove($id)
{
$where = $this->getAdapter()->quoteInto('id = ?', $id, 'INTEGER');
return $this->delete($where);
}
是的,我補充說,那裏仍然不起作用。 –
級聯操作僅在您調用行上的刪除功能時觸發,例如$ album-> delete(); – Akeem
是的我知道,我正在使用$ this-> delete。檢查我的OP。 –