Domanda

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?

È stato utile?

Soluzione

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

Altri suggerimenti

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top