Elastica\Query\Range::addField PHP 메소드

addField() 공개 메소드

Adds a range field to the query.
public addField ( string $fieldName, array $args )
$fieldName string Field name
$args array Field arguments
    public function addField($fieldName, array $args)
    {
        return $this->setParam($fieldName, $args);
    }

Usage Example

예제 #1
0
 /**
  * (non-PHPdoc)
  *
  * @see \Agent\Entity\Relationship::getQuery()
  */
 public function getQuery($value = null, $query = null, $required = null, $boost = null)
 {
     $query = parent::getQuery($value, $query, $required, $boost);
     $method = 'addMust';
     // $required ? 'addMust' : 'addShould';
     if (isset($value) && is_array($value) && count($value) == 2) {
         $range = new Elastica\Query\Range();
         $field = $this->getCriterion()->getTypeField();
         switch ($field) {
             case '_date':
                 foreach ($value as &$date) {
                     $time = strtotime($date);
                     if ($time) {
                         $date = date('Y-m-d\\TH:i:s', $time);
                     } else {
                         $date = date('Y-m-d\\TH:i:s', -9999999999.0);
                     }
                 }
                 break;
         }
         @(list($from, $to) = $value);
         if (isset($from, $to)) {
             $range->addField($field, ['gt' => $from, 'lt' => $to]);
             $query->{$method}($range);
         }
     }
     return $query;
 }
All Usage Examples Of Elastica\Query\Range::addField