public function addLeftJoin($tableName, $field1, $field2) { $prefix = Config::get("DB_PREFIX"); $this->leftJoins[] = array($prefix . strtolower($tableName), Criteria::addPrefixToValueName($field1), Criteria::addPrefixToValueName($field2)); return $this; }
/** * Find all rows row in database matching criteria and return it * @param Criteria $criteria Criteria object contain search filters * @param string $fields Row fields which will be returned * @return array */ public function findAll(Criteria $criteria = null, $fields = "*", $returnModelRecords = false) { $fields = Criteria::addPrefixToValueName($fields); if (!$criteria) { $criteria = new Criteria(); } $sql = $this->prepareCriteriaQuery($criteria, $fields); $results = $this->db->sqlGetAll($sql); if ($criteria->getCalcFoundRows()) { $this->saveFoundRowsCount(); } if (empty($results)) { return array(); } if (!$returnModelRecords) { return $results; } $modelRecords = array(); foreach ($results as $data) { if ($criteria->keyArray) { $pk = $data[$this->getPrimaryKey()]; $modelRecords[$pk] = $this->populateObject($data); } else { $modelRecords[] = $this->populateObject($data); } } return $modelRecords; }