Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- namespace App;
- use Illuminate\Database\Eloquent\Model;
- use Spatie\MediaLibrary\HasMedia\HasMedia;
- use Spatie\MediaLibrary\HasMedia\HasMediaTrait;
- /**
- * App\FlexItem
- *
- * @property int $id
- * @property string $name
- * @property string $key
- * @property int $page_id
- * @property array|null $content
- * @property int $order
- * @property \Illuminate\Support\Carbon|null $created_at
- * @property \Illuminate\Support\Carbon|null $updated_at
- * @property-read \Illuminate\Database\Eloquent\Collection|\Spatie\MediaLibrary\Models\Media[] $media
- * @property-read int|null $media_count
- * @property-read \App\Page $page
- * @method static \Illuminate\Database\Eloquent\Builder|\App\FlexItem newModelQuery()
- * @method static \Illuminate\Database\Eloquent\Builder|\App\FlexItem newQuery()
- * @method static \Illuminate\Database\Eloquent\Builder|\App\FlexItem query()
- * @method static \Illuminate\Database\Eloquent\Builder|\App\FlexItem whereContent($value)
- * @method static \Illuminate\Database\Eloquent\Builder|\App\FlexItem whereCreatedAt($value)
- * @method static \Illuminate\Database\Eloquent\Builder|\App\FlexItem whereId($value)
- * @method static \Illuminate\Database\Eloquent\Builder|\App\FlexItem whereKey($value)
- * @method static \Illuminate\Database\Eloquent\Builder|\App\FlexItem whereName($value)
- * @method static \Illuminate\Database\Eloquent\Builder|\App\FlexItem whereOrder($value)
- * @method static \Illuminate\Database\Eloquent\Builder|\App\FlexItem wherePageId($value)
- * @method static \Illuminate\Database\Eloquent\Builder|\App\FlexItem whereUpdatedAt($value)
- * @mixin \Eloquent
- */
- class FlexItem extends Model implements HasMedia
- {
- use HasMediaTrait;
- /*
- |--------------------------------------------------------------------------
- | GLOBAL VARIABLES
- |--------------------------------------------------------------------------
- */
- protected $fillable = [
- 'page_id',
- 'key',
- 'name',
- 'attribute',
- 'content',
- 'order',
- ];
- protected $casts = [
- 'content' => 'array',
- ];
- /*
- |--------------------------------------------------------------------------
- | FUNCTIONS
- |--------------------------------------------------------------------------
- */
- public static function withKey($key)
- {
- return FlexItem::where('key', $key)->firstOrNew([]);
- }
- public function registerMediaCollections()
- {
- $this->addMediaCollection('background')->singleFile();
- $this->addMediaCollection('image')->singleFile();
- $this->addMediaCollection('images');
- }
- /*
- |--------------------------------------------------------------------------
- | RELATIONS
- |--------------------------------------------------------------------------
- */
- public function page()
- {
- return $this->belongsTo(Page::class, 'page_id');
- }
- /*
- |--------------------------------------------------------------------------
- | SCOPES
- |--------------------------------------------------------------------------
- */
- /*
- |--------------------------------------------------------------------------
- | ACCESORS
- |--------------------------------------------------------------------------
- */
- /*
- |--------------------------------------------------------------------------
- | MUTATORS
- |--------------------------------------------------------------------------
- */
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement