Advertisement
Guest User

Untitled

a guest
Sep 21st, 2019
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.40 KB | None | 0 0
  1. <?php
  2.  
  3. namespace App;
  4.  
  5. use Illuminate\Database\Eloquent\Model;
  6. use Spatie\MediaLibrary\HasMedia\HasMedia;
  7. use Spatie\MediaLibrary\HasMedia\HasMediaTrait;
  8.  
  9. /**
  10. * App\FlexItem
  11. *
  12. * @property int $id
  13. * @property string $name
  14. * @property string $key
  15. * @property int $page_id
  16. * @property array|null $content
  17. * @property int $order
  18. * @property \Illuminate\Support\Carbon|null $created_at
  19. * @property \Illuminate\Support\Carbon|null $updated_at
  20. * @property-read \Illuminate\Database\Eloquent\Collection|\Spatie\MediaLibrary\Models\Media[] $media
  21. * @property-read int|null $media_count
  22. * @property-read \App\Page $page
  23. * @method static \Illuminate\Database\Eloquent\Builder|\App\FlexItem newModelQuery()
  24. * @method static \Illuminate\Database\Eloquent\Builder|\App\FlexItem newQuery()
  25. * @method static \Illuminate\Database\Eloquent\Builder|\App\FlexItem query()
  26. * @method static \Illuminate\Database\Eloquent\Builder|\App\FlexItem whereContent($value)
  27. * @method static \Illuminate\Database\Eloquent\Builder|\App\FlexItem whereCreatedAt($value)
  28. * @method static \Illuminate\Database\Eloquent\Builder|\App\FlexItem whereId($value)
  29. * @method static \Illuminate\Database\Eloquent\Builder|\App\FlexItem whereKey($value)
  30. * @method static \Illuminate\Database\Eloquent\Builder|\App\FlexItem whereName($value)
  31. * @method static \Illuminate\Database\Eloquent\Builder|\App\FlexItem whereOrder($value)
  32. * @method static \Illuminate\Database\Eloquent\Builder|\App\FlexItem wherePageId($value)
  33. * @method static \Illuminate\Database\Eloquent\Builder|\App\FlexItem whereUpdatedAt($value)
  34. * @mixin \Eloquent
  35. */
  36. class FlexItem extends Model implements HasMedia
  37. {
  38. use HasMediaTrait;
  39.  
  40. /*
  41. |--------------------------------------------------------------------------
  42. | GLOBAL VARIABLES
  43. |--------------------------------------------------------------------------
  44. */
  45.  
  46. protected $fillable = [
  47. 'page_id',
  48. 'key',
  49. 'name',
  50. 'attribute',
  51. 'content',
  52. 'order',
  53. ];
  54.  
  55. protected $casts = [
  56. 'content' => 'array',
  57. ];
  58.  
  59. /*
  60. |--------------------------------------------------------------------------
  61. | FUNCTIONS
  62. |--------------------------------------------------------------------------
  63. */
  64.  
  65. public static function withKey($key)
  66. {
  67. return FlexItem::where('key', $key)->firstOrNew([]);
  68. }
  69.  
  70. public function registerMediaCollections()
  71. {
  72. $this->addMediaCollection('background')->singleFile();
  73. $this->addMediaCollection('image')->singleFile();
  74. $this->addMediaCollection('images');
  75. }
  76.  
  77. /*
  78. |--------------------------------------------------------------------------
  79. | RELATIONS
  80. |--------------------------------------------------------------------------
  81. */
  82.  
  83. public function page()
  84. {
  85. return $this->belongsTo(Page::class, 'page_id');
  86. }
  87.  
  88. /*
  89. |--------------------------------------------------------------------------
  90. | SCOPES
  91. |--------------------------------------------------------------------------
  92. */
  93.  
  94. /*
  95. |--------------------------------------------------------------------------
  96. | ACCESORS
  97. |--------------------------------------------------------------------------
  98. */
  99.  
  100. /*
  101. |--------------------------------------------------------------------------
  102. | MUTATORS
  103. |--------------------------------------------------------------------------
  104. */
  105.  
  106. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement