Exemplo n.º 1
0
 /**
  * Query builder scope to search on text
  *
  * @param  Illuminate\Database\Query\Builder  $query  Query builder instance
  * @param  text                              $search    	 Search term
  *
  * @return Illuminate\Database\Query\Builder          Modified query builder
  */
 public function scopeTextsearch($query, $search)
 {
     return $query->where('name', 'LIKE', "%{$search}%")->orWhere('address', 'LIKE', "%{$search}%")->orWhere('city', 'LIKE', "%{$search}%")->orWhere('state', 'LIKE', "%{$search}%")->orWhere('zip', 'LIKE', "%{$search}%")->orWhere(function ($query) use($search) {
         $query->whereHas('parent', function ($query) use($search) {
             $query->where(function ($query) use($search) {
                 $query->where('name', 'LIKE', '%' . $search . '%');
             });
         })->orWhere(function ($query) use($search) {
             $query->whereRaw("parent_id IN (select id from locations where name LIKE '%" . $search . "%') ");
         });
     });
 }
Exemplo n.º 2
0
 /**
  * filter
  *
  * @param  array                        $filters filters
  * @return Database\CollectionDelegator
  */
 public function filter($filters = null)
 {
     if ($filters) {
         $this->query->where(function ($query) use($filters) {
             foreach ($filters as $where) {
                 // Use 'and' as default boolean method
                 if (!isset($where[3])) {
                     $where[3] = 'and';
                 }
                 // Sugar for 'IN' operations
                 if ($where[1] == '=' && gettype($where[2]) == 'array') {
                     $where[1] = 'in';
                 } else {
                     if ($where[1] == '!=' && $where[2] == null) {
                         // Workaround to support whereNotNull
                         $where[1] = 'not_null';
                         $where[2] = 'and';
                     }
                 }
                 if (preg_match('/^[a-z_]+$/', $where[1]) !== 0 && strtolower($where[1]) !== 'like') {
                     $method = 'where' . ucfirst(\Illuminate\Support\Str::camel($where[1]));
                     $query->{$method}($where[0], $where[2], $where[3]);
                 } else {
                     $query->where($where[0], $where[1], $where[2], $where[3]);
                 }
             }
         });
     }
     return $this;
 }
Exemplo n.º 3
0
 /**
  * Query builder scope to search on text
  *
  * @param  Illuminate\Database\Query\Builder  $query  Query builder instance
  * @param  text                              $search      Search term
  *
  * @return Illuminate\Database\Query\Builder          Modified query builder
  */
 public function scopeTextSearch($query, $search)
 {
     return $query->where('name', 'LIKE', "%{$search}%")->orWhere('modelno', 'LIKE', "%{$search}%")->orWhere(function ($query) use($search) {
         $query->whereHas('depreciation', function ($query) use($search) {
             $query->where('name', 'LIKE', '%' . $search . '%');
         });
     })->orWhere(function ($query) use($search) {
         $query->whereHas('category', function ($query) use($search) {
             $query->where('name', 'LIKE', '%' . $search . '%');
         });
     })->orWhere(function ($query) use($search) {
         $query->whereHas('manufacturer', function ($query) use($search) {
             $query->where('name', 'LIKE', '%' . $search . '%');
         });
     });
 }
Exemplo n.º 4
0
 /**
  * Query builder scope to search on text
  *
  * @param  Illuminate\Database\Query\Builder  $query  Query builder instance
  * @param  text                              $search      Search term
  *
  * @return Illuminate\Database\Query\Builder          Modified query builder
  */
 public function scopeTextSearch($query, $search)
 {
     $search = explode('+', $search);
     return $query->where(function ($query) use($search) {
         foreach ($search as $search) {
             $query->whereHas('category', function ($query) use($search) {
                 $query->where('categories.name', 'LIKE', '%' . $search . '%');
             })->orWhere(function ($query) use($search) {
                 $query->whereHas('company', function ($query) use($search) {
                     $query->where('companies.name', 'LIKE', '%' . $search . '%');
                 });
             })->orWhere(function ($query) use($search) {
                 $query->whereHas('assetlog', function ($query) use($search) {
                     $query->where('action_type', '=', 'checkout')->where('created_at', 'LIKE', '%' . $search . '%');
                 });
             })->orWhere(function ($query) use($search) {
                 $query->whereHas('location', function ($query) use($search) {
                     $query->where('locations.name', 'LIKE', '%' . $search . '%');
                 });
             })->orWhere('accessories.name', 'LIKE', '%' . $search . '%')->orWhere('accessories.order_number', 'LIKE', '%' . $search . '%')->orWhere('accessories.purchase_cost', 'LIKE', '%' . $search . '%')->orWhere('accessories.purchase_date', 'LIKE', '%' . $search . '%');
         }
     });
 }
Exemplo n.º 5
0
 /**
  * Query builder scope to search on text
  *
  * @param  Illuminate\Database\Query\Builder  $query  Query builder instance
  * @param  text                              $search      Search term
  *
  * @return Illuminate\Database\Query\Builder          Modified query builder
  */
 public function scopeTextsearch($query, $search)
 {
     return $query->where(function ($query) use($search) {
         $query->where('users.first_name', 'LIKE', "%{$search}%")->orWhere('users.last_name', 'LIKE', "%{$search}%")->orWhere('users.email', 'LIKE', "%{$search}%")->orWhere('users.username', 'LIKE', "%{$search}%")->orWhere('users.notes', 'LIKE', "%{$search}%")->orWhere('users.employee_num', 'LIKE', "%{$search}%")->orWhere(function ($query) use($search) {
             $query->whereHas('userloc', function ($query) use($search) {
                 $query->where('locations.name', 'LIKE', '%' . $search . '%');
             });
         })->orWhere(function ($query) use($search) {
             $query->whereRaw("users.manager_id IN (select id from users where first_name LIKE '%" . $search . "%' OR last_name LIKE '%" . $search . "%') ");
         });
     });
 }
Exemplo n.º 6
0
 /**
  * Query builder scope to search on text
  *
  * @param  Illuminate\Database\Query\Builder  $query  Query builder instance
  * @param  text                              $search      Search term
  *
  * @return Illuminate\Database\Query\Builder          Modified query builder
  */
 public function scopeTextSearch($query, $search)
 {
     return $query->where(function ($query) use($search) {
         $query->where('name', 'LIKE', '%' . $search . '%');
     });
 }
Exemplo n.º 7
0
 /**
  * Query builder scope for Requestable assets
  *
  * @param  Illuminate\Database\Query\Builder $query Query builder instance
  *
  * @return Illuminate\Database\Query\Builder          Modified query builder
  */
 public function scopeRequestableAssets($query)
 {
     return $query->where('requestable', '=', 1)->whereHas('assetstatus', function ($query) {
         $query->where('deployable', '=', 1)->where('pending', '=', 0)->where('archived', '=', 0);
     });
 }
Exemplo n.º 8
0
 /**
  * Get the unread notifications for a user.
  *
  * @param Illuminate\Database\Query\Builder $query
  * @param int $userId (Default: null)
  *
  * @return Illuminate\Database\Query\Builder
  */
 public function scopeUnreadReceiver($query, $userId = null)
 {
     if (empty($userId)) {
         $userId = \Sentry::getUser()->id;
     }
     return $query->where(function (\Illuminate\Database\Query\Builder $query) use($userId) {
         $query->where('read', '=', 0)->where('to_user_id', $userId);
     });
 }
Exemplo n.º 9
0
 /**
  * Query builder scope to search on text for complex Bootstrap Tables API
  *
  * @param  Illuminate\Database\Query\Builder  $query  Query builder instance
  * @param  text                              $search    	 Search term
  *
  * @return Illuminate\Database\Query\Builder          Modified query builder
  */
 public function scopeTextSearch($query, $search)
 {
     $search = explode('+', $search);
     return $query->where(function ($query) use($search) {
         foreach ($search as $search) {
             $query->whereHas('model', function ($query) use($search) {
                 $query->whereHas('category', function ($query) use($search) {
                     $query->where(function ($query) use($search) {
                         $query->where('categories.name', 'LIKE', '%' . $search . '%')->orWhere('models.name', 'LIKE', '%' . $search . '%');
                     });
                 });
             })->orWhere(function ($query) use($search) {
                 $query->whereHas('assetstatus', function ($query) use($search) {
                     $query->where('name', 'LIKE', '%' . $search . '%');
                 });
             })->orWhere(function ($query) use($search) {
                 $query->whereHas('defaultLoc', function ($query) use($search) {
                     $query->where('name', 'LIKE', '%' . $search . '%');
                 });
             })->orWhere(function ($query) use($search) {
                 $query->whereHas('assigneduser', function ($query) use($search) {
                     $query->where(function ($query) use($search) {
                         $query->where('users.first_name', 'LIKE', '%' . $search . '%')->orWhere('users.last_name', 'LIKE', '%' . $search . '%')->orWhere(function ($query) use($search) {
                             $query->whereHas('userloc', function ($query) use($search) {
                                 $query->where('locations.name', 'LIKE', '%' . $search . '%');
                             });
                         });
                     });
                 });
             })->orWhere(function ($query) use($search) {
                 $query->whereHas('assetlog', function ($query) use($search) {
                     $query->where('action_type', '=', 'checkout')->where('created_at', 'LIKE', '%' . $search . '%');
                 });
             })->orWhere('name', 'LIKE', '%' . $search . '%')->orWhere('asset_tag', 'LIKE', '%' . $search . '%')->orWhere('serial', 'LIKE', '%' . $search . '%')->orWhere('order_number', 'LIKE', '%' . $search . '%')->orWhere('notes', 'LIKE', '%' . $search . '');
         }
     });
 }
Exemplo n.º 10
0
 /**
  * Scope for all not activated users.
  *
  * @param Illuminate\Database\Query\Builder $query
  *
  * @return Illuminate\Database\Query\Builder
  */
 public function scopeNotActivated($query)
 {
     return $query->where('activated', '=', 0);
 }
Exemplo n.º 11
0
 /**
  * Scope for unread notifications.
  *
  * @param Illuminate\Database\Query\Builder $query
  *
  * @return Illuminate\Database\Query\Builder
  */
 public function scopeUnread($query)
 {
     return $query->where('read', '=', '0');
 }
Exemplo n.º 12
0
 /**
  * Query builder scope to search on text
  *
  * @param  Illuminate\Database\Query\Builder  $query  Query builder instance
  * @param  text                              $search      Search term
  *
  * @return Illuminate\Database\Query\Builder          Modified query builder
  */
 public function scopeTextSearch($query, $search)
 {
     return $query->where(function ($query) use($search) {
         $query->where('title', 'LIKE', '%' . $search . '%')->orWhere('notes', 'LIKE', '%' . $search . '%')->orWhere('asset_maintenance_type', 'LIKE', '%' . $search . '%')->orWhere('cost', 'LIKE', '%' . $search . '%')->orWhere('start_date', 'LIKE', '%' . $search . '%')->orWhere('completion_date', 'LIKE', '%' . $search . '%');
     });
 }
Exemplo n.º 13
0
 /**
  * Filter the main table of the query by the value passed in $filters
  *
  * @author Luca Brognara
  * @date December 2015
  *
  * @param Illuminate\Database\Query\Builder $query
  * @param array 							 $filters
  * @param string 							 $table
  *
  * @return array
  */
 public function scopeFilter($query, $filters, $table)
 {
     if (count($filters) == 0) {
         return $query;
     }
     return $query->where(function ($query) use($filters, $table) {
         try {
             $this->filter($query, $filters, $this->get_table_columns($table));
         } catch (\Exception $e) {
             throw new \Exception($e->getMessage(), $e->getCode());
         }
     });
 }
Exemplo n.º 14
0
 /**
  * Query builder scope to search on text for complex Bootstrap Tables API
  *
  * @param  Illuminate\Database\Query\Builder  $query  Query builder instance
  * @param  text                              $search      Search term
  *
  * @return Illuminate\Database\Query\Builder          Modified query builder
  */
 public function scopeTextSearch($query, $search)
 {
     $search = explode(' OR ', $search);
     return $query->where(function ($query) use($search) {
         foreach ($search as $search) {
             $query->whereHas('model', function ($query) use($search) {
                 $query->whereHas('category', function ($query) use($search) {
                     $query->where(function ($query) use($search) {
                         $query->where('categories.name', 'LIKE', '%' . $search . '%')->orWhere('models.name', 'LIKE', '%' . $search . '%')->orWhere('models.modelno', 'LIKE', '%' . $search . '%');
                     });
                 });
             })->orWhereHas('model', function ($query) use($search) {
                 $query->whereHas('manufacturer', function ($query) use($search) {
                     $query->where(function ($query) use($search) {
                         $query->where('manufacturers.name', 'LIKE', '%' . $search . '%');
                     });
                 });
             })->orWhere(function ($query) use($search) {
                 $query->whereHas('assetstatus', function ($query) use($search) {
                     $query->where('status_labels.name', 'LIKE', '%' . $search . '%');
                 });
             })->orWhere(function ($query) use($search) {
                 $query->whereHas('company', function ($query) use($search) {
                     $query->where('companies.name', 'LIKE', '%' . $search . '%');
                 });
             })->orWhere(function ($query) use($search) {
                 $query->whereHas('defaultLoc', function ($query) use($search) {
                     $query->where('locations.name', 'LIKE', '%' . $search . '%');
                 });
             })->orWhere(function ($query) use($search) {
                 $query->whereHas('assigneduser', function ($query) use($search) {
                     $query->where(function ($query) use($search) {
                         $query->where('users.first_name', 'LIKE', '%' . $search . '%')->orWhere('users.last_name', 'LIKE', '%' . $search . '%')->orWhere(function ($query) use($search) {
                             $query->whereHas('userloc', function ($query) use($search) {
                                 $query->where('locations.name', 'LIKE', '%' . $search . '%');
                             });
                         });
                     });
                 });
             })->orWhere('assets.name', 'LIKE', '%' . $search . '%')->orWhere('assets.asset_tag', 'LIKE', '%' . $search . '%')->orWhere('assets.serial', 'LIKE', '%' . $search . '%')->orWhere('assets.order_number', 'LIKE', '%' . $search . '%')->orWhere('assets.notes', 'LIKE', '%' . $search . '%');
         }
         foreach (CustomField::all() as $field) {
             $query->orWhere($field->db_column_name(), 'LIKE', "%{$search}%");
         }
     });
 }
Exemplo n.º 15
0
 /**
  * Query builder scope to search on text
  *
  * @param  Illuminate\Database\Query\Builder  $query  Query builder instance
  * @param  text                              $search      Search term
  *
  * @return Illuminate\Database\Query\Builder          Modified query builder
  */
 public function scopeTextSearch($query, $search)
 {
     return $query->where(function ($query) use($search) {
         $query->where('name', 'LIKE', '%' . $search . '%')->orWhere('serial', 'LIKE', '%' . $search . '%')->orWhere('notes', 'LIKE', '%' . $search . '%')->orWhere('order_number', 'LIKE', '%' . $search . '%')->orWhere('purchase_date', 'LIKE', '%' . $search . '%')->orWhere('purchase_cost', 'LIKE', '%' . $search . '%');
     });
 }
Exemplo n.º 16
0
 /**
  * Query builder scope to search on text
  *
  * @param  Illuminate\Database\Query\Builder  $query  Query builder instance
  * @param  text                              $search      Search term
  *
  * @return Illuminate\Database\Query\Builder          Modified query builder
  */
 public function scopeTextSearch($query, $search)
 {
     $search = explode(' ', $search);
     return $query->where(function ($query) use($search) {
         foreach ($search as $search) {
             $query->whereHas('category', function ($query) use($search) {
                 $query->where('categories.name', 'LIKE', '%' . $search . '%');
             })->orWhere(function ($query) use($search) {
                 $query->whereHas('company', function ($query) use($search) {
                     $query->where('companies.name', 'LIKE', '%' . $search . '%');
                 });
             })->orWhere(function ($query) use($search) {
                 $query->whereHas('location', function ($query) use($search) {
                     $query->where('locations.name', 'LIKE', '%' . $search . '%');
                 });
             })->orWhere('consumables.name', 'LIKE', '%' . $search . '%')->orWhere('consumables.order_number', 'LIKE', '%' . $search . '%')->orWhere('consumables.purchase_cost', 'LIKE', '%' . $search . '%')->orWhere('consumables.purchase_date', 'LIKE', '%' . $search . '%');
         }
     });
 }
Exemplo n.º 17
0
 /**
  * Scope of all not completed tasks.
  *
  * @param Illuminate\Database\Query\Builder $query
  *
  * @return Illuminate\Database\Query\Builder
  */
 public function scopeNotCompleted($query)
 {
     return $query->where('completed', '=', '0');
 }