Anons79 Mini Shell

Directory : /home/aplikasiposinfo/.trash/app.4/Models/
Upload File :
Current File : /home/aplikasiposinfo/.trash/app.4/Models/Posts.php

<?php

namespace App\Models;

use Spatie\MediaLibrary\HasMedia;
use Spatie\MediaLibrary\InteractsWithMedia;
use Illuminate\Database\Eloquent\Model;
use Spatie\Image\Manipulations;
use Spatie\MediaLibrary\MediaCollections\Models\Media;
use Spatie\Sluggable\HasSlug;
use Spatie\Sluggable\SlugOptions;

class Posts extends Model implements HasMedia
{
    use InteractsWithMedia;
    use HasSlug;

    public $table = 'posts';

    public $fillable = [
        'title',
        'content',
        'image_chaption',
        'highlight',
        'slug',
        'post_category_id',
        'user_id'
    ];

    protected $casts = [
        'title' => 'string',
        'content' => 'string',
        'image_chaption' => 'string',
        'highlight' => 'boolean',
        'slug' => 'string'
    ];

    public static array $rules = [
        'title' => 'required|string|max:65535',
        'content' => 'required|string',
        'image_chaption' => 'nullable|string|max:45',
        'highlight' => 'nullable|boolean',
        'slug' => 'nullable|string|max:255',
        'post_category_id' => 'required',
        'user_id' => 'nullable',
        'created_at' => 'nullable',
        'updated_at' => 'nullable',
        'deleted_at' => 'nullable'
    ];

    public function getSlugOptions() : SlugOptions
    {
        return SlugOptions::create()
            ->generateSlugsFrom('title')
            ->saveSlugsTo('slug');
    }

    public function getRouteKeyName()
    {
        return 'slug';
    }

    public function registerMediaConversions(Media $media = null): void
    {
        $this->addMediaConversion('preview')
            ->fit(Manipulations::FIT_CROP, 300, 300)
            ->nonQueued();

        $this->addMediaConversion('thumb')
            ->width(368)
            ->height(232)
            ->sharpen(10);

        $this->addMediaConversion('cover')
            ->width(2400)
            ->height(1800);
    }

    public function postCategory(): \Illuminate\Database\Eloquent\Relations\BelongsTo
    {
        return $this->belongsTo(\App\Models\PostKategori::class, 'post_category_id');
    }

    public function user(): \Illuminate\Database\Eloquent\Relations\BelongsTo
    {
        return $this->belongsTo(\App\Models\User::class, 'user_id');
    }
}

Anons79 File Manager Version 1.0, Coded By Anons79
Email: [email protected]