Ejemplo n.º 1
0
 /**
  * Determine the operator for count relation query and set 'not' appropriately.
  *
  * @param  string $method
  * @param  \Sofa\Eloquence\ArgumentBag $args
  * @return string
  */
 protected function getMappedOperator($method, ArgumentBag $args)
 {
     if ($not = $args->get('not')) {
         $args->set('not', false);
     }
     if ($null = $this->isWhereNull($method, $args)) {
         $args->set('not', true);
     }
     return $not ^ $null ? '<' : '>=';
 }
Ejemplo n.º 2
0
 /**
  * Get the relation constraint closure.
  *
  * @param  string $method
  * @param  \Sofa\Eloquence\ArgumentBag $args
  * @return \Closure
  */
 protected function getMetaWhereConstraint($method, ArgumentBag $args)
 {
     $column = $args->get('column');
     $args->set('column', 'meta_value');
     if ($method === 'whereBetween') {
         return $this->getMetaBetweenConstraint($column, $args->get('values'));
     }
     return function ($query) use($column, $method, $args) {
         $query->where('meta_key', $column);
         if ($args->get('value') || $args->get('values')) {
             call_user_func_array([$query, $method], $args->all());
         }
     };
 }