Files
productalert/app/Models/Post.php
Charles T ded1643e5f Add (post manage)
Add (post country viewing)
2023-07-28 02:29:11 +08:00

88 lines
1.8 KiB
PHP

<?php
/**
* Created by Reliese Model.
*/
namespace App\Models;
use AlAminFirdows\LaravelEditorJs\Facades\LaravelEditorJs;
use Carbon\Carbon;
use Illuminate\Database\Eloquent\Collection;
use Illuminate\Database\Eloquent\Model;
/**
* Class Post
*
* @property int $id
* @property string|null $title
* @property string|null $slug
* @property string|null $excerpt
* @property int|null $author_id
* @property string $featured_image
* @property string $editor
* @property array|null $body
* @property string $post_format
* @property int $comment_count
* @property int $likes_count
* @property string $status
* @property Carbon|null $created_at
* @property Carbon|null $updated_at
* @property Author|null $author
* @property Collection|PostCategory[] $post_categories
*/
class Post extends Model
{
protected $table = 'posts';
protected $casts = [
'author_id' => 'int',
'body' => 'json',
'comment_count' => 'int',
'likes_count' => 'int',
];
protected $fillable = [
'title',
'slug',
'excerpt',
'author_id',
'featured_image',
'editor',
'body',
'post_format',
'comment_count',
'likes_count',
'status',
];
protected $appends = [
'html_body',
];
public function author()
{
return $this->belongsTo(Author::class);
}
public function post_categories()
{
return $this->hasMany(PostCategory::class);
}
public function post_category()
{
return $this->hasOne(PostCategory::class);
}
public function getHtmlBodyAttribute()
{
if (! is_empty($this->body)) {
return LaravelEditorJs::render($this->body);
}
return '';
}
}