JFIF  x x C         C     "        } !1AQa "q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz        w !1AQ aq"2B #3Rbr{ gilour

File "Blog.php"

Full Path: /var/www/laravel_filter/Modules/Blog/Entities/Blog.php
File size: 1.61 KB
MIME-type: text/x-php
Charset: utf-8

<?php

namespace Modules\Blog\Entities;

use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use App\Models\Admin;

class Blog extends Model
{
    use HasFactory;

    protected $fillable = [];

    protected $hidden = ['front_translate'];

    protected $appends = ['title', 'description', 'seo_title', 'seo_description'];

    protected static function newFactory()
    {
        return \Modules\Blog\Database\factories\BlogFactory::new();
    }

    public function author(){
        return $this->belongsTo(Admin::class,'admin_id','id')->select('id','name','about_me','facebook','linkedin','twitter','instagram','image');
    }

    public function category(){
        return $this->belongsTo(BlogCategory::class,'blog_category_id','id');
    }

    public function translations()
    {
        return $this->hasMany(BlogTranslation::class, 'blog_id');
    }

    public function translate(){
        return $this->belongsTo(BlogTranslation::class, 'id', 'blog_id')->where('lang_code', admin_lang());
    }

    public function front_translate(){
        return $this->belongsTo(BlogTranslation::class, 'id', 'blog_id')->where('lang_code', front_lang());
    }

    public function getTitleAttribute()
    {
        return $this->front_translate->title;
    }

    public function getDescriptionAttribute()
    {
        return $this->front_translate->description;
    }

    public function getSeoTitleAttribute()
    {
        return $this->front_translate->seo_title;
    }

    public function getSeoDescriptionAttribute()
    {
        return $this->front_translate->seo_description;
    }

}