Model for Categories. More...

Inheritance diagram for App\Models\Category:

Public Member Functions

 has_models ()
 
 accessories ()
 
 consumables ()
 
 components ()
 
 itemCount ()
 
 assets ()
 
 models ()
 
 getEula ()
 
 scopeRequiresAcceptance ($query)
 scopeRequiresAcceptance More...
 
 scopeTextSearch ($query, $search)
 Query builder scope to search on text. More...
 

Public Attributes

 $rules
 Category validation rules. More...
 

Protected Attributes

 $dates = ['deleted_at']
 
 $table = 'categories'
 
 $injectUniqueIdentifier = true
 
 $fillable = ['name','category_type']
 

Detailed Description

Model for Categories.

Categories are a higher-level group than Asset Models, and handle things like whether or not to require acceptance from the user, whether or not to send a EULA to the user, etc.

Version
v1.0

Definition at line 16 of file Category.php.

Member Function Documentation

App\Models\Category::accessories ( )

Definition at line 56 of file Category.php.

57  {
58  return $this->hasMany('\App\Models\Accessory');
59  }
App\Models\Category::assets ( )

Definition at line 86 of file Category.php.

87  {
88  return $this->hasManyThrough('\App\Models\Asset', '\App\Models\AssetModel', 'category_id', 'model_id');
89  }
App\Models\Category::components ( )

Definition at line 66 of file Category.php.

67  {
68  return $this->hasMany('\App\Models\Component');
69  }
App\Models\Category::consumables ( )

Definition at line 61 of file Category.php.

62  {
63  return $this->hasMany('\App\Models\Consumable');
64  }
App\Models\Category::getEula ( )

Definition at line 96 of file Category.php.

97  {
98 
99  $Parsedown = new \Parsedown();
100 
101  if ($this->eula_text) {
102  return $Parsedown->text(e($this->eula_text));
103  } elseif ((Setting::getSettings()->default_eula_text) && ($this->use_default_eula=='1')) {
104  return $Parsedown->text(e(Setting::getSettings()->default_eula_text));
105  } else {
106  return null;
107  }
108 
109  }
static getSettings()
Definition: Setting.php:33
App\Models\Category::has_models ( )

Definition at line 51 of file Category.php.

52  {
53  return $this->hasMany('\App\Models\AssetModel', 'category_id')->count();
54  }
App\Models\Category::itemCount ( )

Definition at line 71 of file Category.php.

72  {
73  switch ($this->category_type) {
74  case 'asset':
75  return $this->assets->count();
76  case 'accessory':
77  return $this->accessories->count();
78  case 'component':
79  return $this->components->count();
80  case 'consumable':
81  return $this->consumables->count();
82  }
83  return '0';
84  }
App\Models\Category::models ( )

Definition at line 91 of file Category.php.

92  {
93  return $this->hasMany('\App\Models\AssetModel', 'category_id');
94  }
App\Models\Category::scopeRequiresAcceptance (   $query)

scopeRequiresAcceptance

Parameters
$query
Returns
mixed
Author
Vincent Sposato vince.nosp@m.nt.s.nosp@m.posat.nosp@m.o@gm.nosp@m.ail.c.nosp@m.om
Version
v1.0

Definition at line 120 of file Category.php.

121  {
122 
123  return $query->where('require_acceptance', '=', true);
124  }
App\Models\Category::scopeTextSearch (   $query,
  $search 
)

Query builder scope to search on text.

Parameters
Illuminate\Database\Query\Builder$queryQuery builder instance
text$searchSearch term
Returns
Illuminate Modified query builder

Definition at line 134 of file Category.php.

135  {
136 
137  return $query->where(function ($query) use ($search) {
138 
139  $query->where('name', 'LIKE', '%'.$search.'%')
140  ->orWhere('category_type', 'LIKE', '%'.$search.'%');
141  });
142  }

Member Data Documentation

App\Models\Category::$dates = ['deleted_at']
protected

Definition at line 20 of file Category.php.

App\Models\Category::$fillable = ['name','category_type']
protected

Definition at line 48 of file Category.php.

App\Models\Category::$injectUniqueIdentifier = true
protected

Definition at line 39 of file Category.php.

App\Models\Category::$rules
Initial value:
= array(
'user_id' => 'numeric',
'name' => 'required|min:3|max:255|unique:categories,name,NULL,deleted_at',
'category_type' => 'required',
)

Category validation rules.

Definition at line 26 of file Category.php.

App\Models\Category::$table = 'categories'
protected

Definition at line 21 of file Category.php.


The documentation for this class was generated from the following file: