Exemple #1
0
 /**
  * Controller override: Extend the query used for populating the list
  * after the default query is processed.
  * @param \October\Rain\Database\Builder $query
  */
 public function listExtendQuery($query, $definition = null)
 {
     switch ($definition) {
         case 'archived':
             $query->where('archived', '=', true);
             break;
         default:
             $query->where('archived', '=', false);
             break;
     }
 }
 /**
  * Select an inventory by it's selection signature
  *
  * @param  \October\Rain\Database\Builder   $query
  * @param  array                            $selections
  * @return \October\Rain\Database\Builder
  */
 public function scopeWhereHasSelections($query, $selections)
 {
     return $query->where(function ($inventory) use($selections) {
         $inventory->has('selections', '=', count($selections));
         foreach ($selections as $id) {
             $inventory->whereHas('selections', function ($selection) use($id) {
                 $selection->where('id', $id);
             });
         }
     });
 }
Exemple #3
0
 /**
  * Select a campaign by CMS object
  *
  * @param   Builder     $query
  * @param   Form        $form
  * @return  Builder
  */
 public function scopeWhereCmsObject(Builder $query, Form $form)
 {
     if ($form->model instanceof Layout) {
         $type = 'layout';
     } elseif ($form->model instanceof Page) {
         $type = 'page';
     } elseif ($form->model instanceof Partial) {
         $type = 'partial';
     } else {
         $type = 'unknown';
     }
     return $query->where('file_type', $type)->where('file_name', $form->model->getFileName());
 }
 public function scopeCurrentMonth(Builder $query)
 {
     $query->where('month', date('m'))->where('year', date('Y'));
 }
 /**
  * Returns categories that are or aren't inherited by other categories. The
  * type of query made is dependent on "select". "whereHas" returns those
  * that are inherited, and "whereDoesntHave" will return the opposite.
  *
  * @param  \October\Rain\Database\Builder   $query
  * @param  \Model|array|integer             $category
  * @param  string                           $select
  * @return \October\Rain\Database\Builder
  */
 public function scopeIsInheritedBy($query, $category, $select = 'whereHas')
 {
     if (is_array($category)) {
         $ids = $category;
     } elseif (is_object($category)) {
         $ids = [$category->id];
     } else {
         $ids = [$category];
     }
     return $query->where(function ($outer) use($ids, $select) {
         $outer->where(function ($inner) use($ids) {
             foreach ($ids as $id) {
                 $inner->where('id', '<>', $id);
             }
         })->{$select}('ancestors', function ($inner) use($ids) {
             $inner->whereIn('parent_id', $ids);
         });
     });
 }
Exemple #6
0
 /**
  * Add a basic where clause to the query.
  *
  * @param string $column
  * @param string $operator
  * @param mixed $value
  * @param string $boolean
  * @return $this 
  * @static 
  */
 public static function where($column, $operator = null, $value = null, $boolean = 'and')
 {
     //Method inherited from \Illuminate\Database\Eloquent\Builder
     return \October\Rain\Database\Builder::where($column, $operator, $value, $boolean);
 }
 /**
  * Returns products that have inventories in stock
  *
  * @param  \October\Rain\Database\Builder   $query
  * @return \October\Rain\Database\Builder
  */
 public function scopeIsEnabled($query)
 {
     return $query->where('is_enabled', true);
 }