سؤال

Is there any method in Kohana 3.2 ORM for cascade delete.I am a beginner in kohana so any one can help me in this matter?

هل كانت مفيدة؟

المحلول

I'm afraid there isn't in Kohana. If you really need one, you should apply it on the database level (ON DELETE CASCADE)

نصائح أخرى

To cascade deletes, override the delete() method in your model:

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();
  }
}

You can then cascade further by overriding the delete() method on the models you're deleting.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top