/** * @param ModelCriteria $search * @param $searchTerm * @param $searchCriteria */ protected function addStandardI18nSearch(&$search, $searchTerm, $searchCriteria) { foreach (self::$standardI18nSearchFields as $index => $searchInElement) { if ($index > 0) { $search->_or(); } $this->addSearchInI18nColumn($search, strtoupper($searchInElement), $searchCriteria, $searchTerm); } }
public function testOrWhereConditions() { $c = new ModelCriteria('bookstore', 'Propel\\Tests\\Bookstore\\Book'); $c->where('Propel\\Tests\\Bookstore\\Book.Id = ?', 12); $c->condition('cond1', 'Propel\\Tests\\Bookstore\\Book.Title <> ?', 'foo'); $c->condition('cond2', 'Propel\\Tests\\Bookstore\\Book.Title like ?', '%bar%'); $c->_or()->where(array('cond1', 'cond2')); $sql = $this->getSql("SELECT FROM book WHERE (book.id = :p1 OR (book.title <> :p2 AND book.title like :p3))"); $params = array(array('table' => 'book', 'column' => 'id', 'value' => 12), array('table' => 'book', 'column' => 'title', 'value' => 'foo'), array('table' => 'book', 'column' => 'title', 'value' => '%bar%')); $this->assertCriteriaTranslation($c, $sql, $params, 'orWhere() accepts an array of named conditions'); $c = new ModelCriteria('bookstore', 'Propel\\Tests\\Bookstore\\Book'); $c->where('Propel\\Tests\\Bookstore\\Book.Id = ?', 12); $c->condition('cond1', 'Propel\\Tests\\Bookstore\\Book.Title <> ?', 'foo'); $c->condition('cond2', 'Propel\\Tests\\Bookstore\\Book.Title like ?', '%bar%'); $c->_or()->where(array('cond1', 'cond2'), Criteria::LOGICAL_OR); $sql = $this->getSql("SELECT FROM book WHERE (book.id = :p1 OR (book.title <> :p2 OR book.title like :p3))"); $this->assertCriteriaTranslation($c, $sql, $params, 'orWhere() accepts an array of named conditions with operator'); }
public function testOrWhereConditions() { $c = new ModelCriteria('bookstore', 'Propel\\Tests\\Bookstore\\Book'); $c->where('Propel\\Tests\\Bookstore\\Book.Id = ?', 12); $c->condition('cond1', 'Propel\\Tests\\Bookstore\\Book.Title <> ?', 'foo'); $c->condition('cond2', 'Propel\\Tests\\Bookstore\\Book.Title like ?', '%bar%'); $c->_or()->where(array('cond1', 'cond2')); if (in_array($this->getDriver(), array('mysql'))) { $sql = "SELECT FROM `book` WHERE (book.ID = :p1 OR (book.TITLE <> :p2 AND book.TITLE like :p3))"; } else { $sql = "SELECT FROM book WHERE (book.ID = :p1 OR (book.TITLE <> :p2 AND book.TITLE like :p3))"; } $params = array(array('table' => 'book', 'column' => 'ID', 'value' => 12), array('table' => 'book', 'column' => 'TITLE', 'value' => 'foo'), array('table' => 'book', 'column' => 'TITLE', 'value' => '%bar%')); $this->assertCriteriaTranslation($c, $sql, $params, 'orWhere() accepts an array of named conditions'); $c = new ModelCriteria('bookstore', 'Propel\\Tests\\Bookstore\\Book'); $c->where('Propel\\Tests\\Bookstore\\Book.Id = ?', 12); $c->condition('cond1', 'Propel\\Tests\\Bookstore\\Book.Title <> ?', 'foo'); $c->condition('cond2', 'Propel\\Tests\\Bookstore\\Book.Title like ?', '%bar%'); $c->_or()->where(array('cond1', 'cond2'), Criteria::LOGICAL_OR); if (in_array($this->getDriver(), array('mysql'))) { $sql = "SELECT FROM `book` WHERE (book.ID = :p1 OR (book.TITLE <> :p2 OR book.TITLE like :p3))"; } else { $sql = "SELECT FROM book WHERE (book.ID = :p1 OR (book.TITLE <> :p2 OR book.TITLE like :p3))"; } $this->assertCriteriaTranslation($c, $sql, $params, 'orWhere() accepts an array of named conditions with operator'); }