當前位置: 首頁>>代碼示例>>PHP>>正文


PHP ModelCriteria::filterBy方法代碼示例

本文整理匯總了PHP中Propel\Runtime\ActiveQuery\ModelCriteria::filterBy方法的典型用法代碼示例。如果您正苦於以下問題:PHP ModelCriteria::filterBy方法的具體用法?PHP ModelCriteria::filterBy怎麽用?PHP ModelCriteria::filterBy使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在Propel\Runtime\ActiveQuery\ModelCriteria的用法示例。


在下文中一共展示了ModelCriteria::filterBy方法的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。

示例1: testFilterBy

 public function testFilterBy()
 {
     $c = new ModelCriteria('bookstore', 'Propel\\Tests\\Bookstore\\Book');
     $c->filterBy('Title', 'foo');
     $sql = $this->getSql('SELECT  FROM `book` WHERE book.TITLE=:p1');
     $params = array(array('table' => 'book', 'column' => 'TITLE', 'value' => 'foo'));
     $this->assertCriteriaTranslation($c, $sql, $params, 'filterBy() accepts a simple column name');
     $c = new ModelCriteria('bookstore', 'Propel\\Tests\\Bookstore\\Book');
     $c->filterBy('Title', 'foo', Criteria::NOT_EQUAL);
     $sql = $this->getSql('SELECT  FROM `book` WHERE book.TITLE<>:p1');
     $params = array(array('table' => 'book', 'column' => 'TITLE', 'value' => 'foo'));
     $this->assertCriteriaTranslation($c, $sql, $params, 'filterBy() accepts a sicustom comparator');
     $c = new ModelCriteria('bookstore', 'Propel\\Tests\\Bookstore\\Book', 'b');
     $c->filterBy('Title', 'foo');
     $sql = $this->getSql('SELECT  FROM `book` WHERE book.TITLE=:p1');
     $params = array(array('table' => 'book', 'column' => 'TITLE', 'value' => 'foo'));
     $this->assertCriteriaTranslation($c, $sql, $params, 'filterBy() accepts a simple column name, even if initialized with an alias');
 }
開發者ID:kalaspuffar,項目名稱:php-orm-benchmark,代碼行數:18,代碼來源:ModelCriteriaTest.php

示例2: testGetParams

 public function testGetParams()
 {
     $c = new ModelCriteria('bookstore', 'Propel\\Tests\\Bookstore\\Book');
     $c->filterBy('Title', 'foo');
     $expectedParams = array(array('table' => 'book', 'column' => 'title', 'value' => 'foo'));
     $params = $c->getParams();
     $this->assertEquals($expectedParams, $params, 'test getting parameters with a simple criterion');
     $c = new ModelCriteria('bookstore', 'Propel\\Tests\\Bookstore\\Book');
     $c->filterBy('Title', 'foo', Criteria::LIKE);
     $expectedParams = array(array('table' => 'book', 'column' => 'title', 'value' => 'foo'));
     $this->assertEquals($expectedParams, $params, 'test getting parameters with Specialized Criterion used for LIKE expressions');
 }
開發者ID:dracony,項目名稱:forked-php-orm-benchmark,代碼行數:12,代碼來源:ModelCriteriaTest.php

示例3: addFilters

 /**
  * Add filters fields to query
  *
  * @param ModelCriteria $query
  */
 private function addFilters(ModelCriteria &$query)
 {
     if (count($this->query) > 0) {
         foreach ($this->query as $field => $value) {
             if ($this->checkFieldExists($field)) {
                 $tableField = ucfirst($field);
                 if (preg_match('/^<=/', $value)) {
                     $query->filterBy($tableField, substr($value, 2, strlen($value)), Criteria::LESS_EQUAL);
                 } elseif (preg_match('/^<=/', $value)) {
                     $query->filterBy($tableField, substr($value, 1, strlen($value)), Criteria::LESS_EQUAL);
                 } elseif (preg_match('/^>=/', $value)) {
                     $query->filterBy($tableField, substr($value, 2, strlen($value)), Criteria::GREATER_EQUAL);
                 } elseif (preg_match('/^>/', $value)) {
                     $query->filterBy($tableField, substr($value, 1, strlen($value)), Criteria::GREATER_THAN);
                 } elseif (preg_match('/^(\'|\\")(.*)(\'|\\")$/', $value)) {
                     $text = preg_replace('/(\'|\\")/', '', $value);
                     $text = preg_replace('/\\ /', '%', $text);
                     $query->filterBy($tableField, '%' . $text . '%', Criteria::LIKE);
                 } else {
                     $query->filterBy($tableField, $value, Criteria::EQUAL);
                 }
             }
         }
     }
 }
開發者ID:c15k0,項目名稱:psfs,代碼行數:30,代碼來源:Api.php


注:本文中的Propel\Runtime\ActiveQuery\ModelCriteria::filterBy方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。