File: /var/www/html/sarvodayahospital/app/Models/News.php
<?php
namespace App\Models;
use App\Scopes\isPublishedScope;
use Illuminate\Database\Eloquent\Model;
class News extends Model
{
protected $with = ['media', 'newsLogo', 'newsTypeCollection'];
protected $table = 'news_items';
protected static function booted()
{
static::addGlobalScope(new isPublishedScope());
}
public function getTitleAttribute($value)
{
return html_entity_decode($value);
}
public function media()
{
return $this->hasOneThrough(
Media::class,
MediaMorph::class,
'related_id',
'id',
'id',
'upload_file_id'
)
->where('related_type', 'news_items')
->where('field', 'Image')
->orderBy('order')
->select('upload_file.id', 'name', 'url', 'formats');
}
public function newsLogo()
{
return $this->hasOneThrough(
Media::class,
MediaMorph::class,
'related_id',
'id',
'id',
'upload_file_id'
)
->where('related_type', 'news_items')
->where('field', 'Logo')
->orderBy('order')
->select('upload_file.id', 'name', 'url', 'formats');
}
public function newsTypeCollection()
{
return $this->hasOne(NewsType::class, 'id', 'NewsType')
->select('id', 'NewsType', 'Slug');
}
}