在Kohana 3.2 ORM中有没有级联删除的方法,我是kohana的初学者,有没有人可以帮我解决这个问题?
发布于 2012-11-26 21:34:23
恐怕在Kohana没有。如果您确实需要一个,那么应该在数据库级别(ON DELETE CASCADE)上应用它。
发布于 2012-12-15 13:16:47
要级联删除,请覆盖模型中的delete()方法:
class Model_Alpha extends ORM
{
protected $_has_many = array(
'beta' => array(
'model' => 'beta',
'foreign_key' => 'alpha_id',
),
'gamma' => array(
'model' => 'gamma',
'foreign_key' => 'alpha_id',
),
);
function delete()
{
foreach($this->beta->find_all() as $entry)
$entry->delete();
foreach($this->gamma->find_all() as $entry)
$entry->delete();
parent::delete();
}
}然后,您可以通过覆盖要删除的模型上的delete()方法来进一步级联。
https://stackoverflow.com/questions/13514326
复制相似问题