File: /var/www/html/sarvodayahospital/app/Models/CMSPage.php
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class CMSPage extends Model
{
protected $table = 'cms_pages';
protected $with = ['media', 'accordion'];
public function accordion()
{
return $this->hasManyThrough(
AccordionComponent::class,
CMSPageComponent::class,
'cms_page_id',
'id',
'id',
'component_id'
)->where("field", "Accordion")
->where("component_type", "components_accordion_accordions")
->orderBy('order');
}
public function media()
{
return $this->hasManyThrough(
Media::class,
MediaMorph::class,
'related_id',
'id',
'id',
'upload_file_id'
)
->where('related_type', 'cms_pages')
->where('field', 'PageFiles')
->orderBy('order')
->select('upload_file_morph.id', 'name', 'url', 'formats');
}
public function seoComponent()
{
return $this->hasOneThrough(
SEOComponent::class,
CMSPageComponent::class,
'cms_page_id',
'id',
'id',
'component_id'
)->where('field', 'SEO')
->where('component_type', 'components_seo_seos');
}
}