/**
  * @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');
 }
示例#3
0
 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');
 }