framework/db/ar/CActiveFinder.php
public function find($criteria=null)
	{
		if($this->_parent===null) // root element
		{
			$query=new CJoinQuery($this,$criteria);
			$this->_finder->baseLimited=($criteria->offset>=0 || $criteria->limit>=0);
			$this->buildQuery($query);
			$this->_finder->baseLimited=false;
			$this->runQuery($query);
		}
		elseif(!$this->_joined && !empty($this->_parent->records)) // not joined before
		{
			$query=new CJoinQuery($this->_parent);
			$this->_joined=true;
			$query->join($this);
			$this->buildQuery($query);
			$this->_parent->runQuery($query);
		}

		foreach($this->children as $child) // find recursively
			$child->find();

		foreach($this->stats as $stat)
			$stat->query();
	}
public function find($criteria=null)
	{
		if($this->_parent===null) // root element
		{
			$query=new CJoinQuery($this,$criteria);
			$this->_finder->baseLimited=($criteria->offset>=0 || $criteria->limit>=0);
			$this->buildQuery($query);
			$this->_finder->baseLimited=false;
			$this->runQuery($query);
		}
		elseif(!$this->_joined && !empty($this->_parent->records)) // not joined before
		{
			$query=new CJoinQuery($this->_parent);
			$this->_joined=true;
			$query->join($this);
			$this->buildQuery($query);
			$this->_parent->runQuery($query);
		}

		foreach($this->children as $child) // find recursively
			$child->find();

		foreach($this->stats as $stat)
			$stat->query();
	}
public function find ( $ criteria = null ) { if ( $ this -> _parent === null ) // root element { $ query = new CJoinQuery ( $ this , $ criteria ) ; $ this -> _finder -> baseLimited = ( $ criteria -> offset >= 0 || $ criteria -> limit >= 0 ) ; $ this -> buildQuery ( $ query ) ; $ this -> _finder -> baseLimited = false ; $ this -> runQuery ( $ query ) ; } elseif ( ! $ this -> _joined && ! empty ( $ this -> _parent -> records ) ) // not joined before { $ query = new CJoinQuery ( $ this -> _parent ) ; $ this -> _joined = true ; $ query -> join ( $ this ) ; $ this -> buildQuery ( $ query ) ; $ this -> _parent -> runQuery ( $ query ) ; } foreach ( $ this -> children as $ child ) // find recursively $ child -> find ( ) ; foreach ( $ this -> stats as $ stat ) $ stat -> query ( ) ; }
Performs the recursive finding with the criteria.
@param CDbCriteria $criteria the query criteria
Performs the recursive finding with the criteria .