Skip to content

Instantly share code, notes, and snippets.

@cornernote
Created January 13, 2014 06:12
Show Gist options
  • Select an option

  • Save cornernote/8395458 to your computer and use it in GitHub Desktop.

Select an option

Save cornernote/8395458 to your computer and use it in GitHub Desktop.
recursive get parents
class MyModel extends CActiveRecord
{
public function relations()
{
return array(
'parent' => array(
self::BELONGS_TO,
'MyModel',
'parent_id',
),
);
}
public function getParents($parents = array())
{
if ($this->parent && !in_array($this->parent_id, array_keys($parents))) {
$parents = $this->parent->getParents($parents);
}
$parents[$this->id] = $this;
return $parents
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment