File: /var/www/html/sarvodayahospital/app/Models/Treatment.php
<?php
namespace App\Models;
use App\Scopes\isPublishedScope;
use Illuminate\Database\Eloquent\Model;
use Staudenmeir\EloquentEagerLimit\HasEagerLimit;
class Treatment extends Model
{
use HasEagerLimit;
protected $with = ['speciality'];
protected static function booted()
{
static::addGlobalScope(new isPublishedScope());
}
public function faqs()
{
return $this->hasManyThrough(
FAQ::class,
TreatmentComponent::class,
'treatment_id',
'id',
'id',
'component_id'
)->where('field', 'FAQ')
->where('component_type', 'components_faq_faqs')
->orderBy('order');
}
public function hospitals()
{
return $this->belongsToMany(
Hospital::class,
'hospitals__treatments',
'treatment_id',
'hospital_id'
);
}
public function speciality()
{
return $this->belongsToMany(
Speciality::class,
'specialities__treatments',
'treatment_id',
'speciality_id'
);
}
public function seoComponent()
{
return $this->hasOneThrough(
SEOComponent::class,
TreatmentComponent::class,
'treatment_id',
'id',
'id',
'component_id'
)->where('field', 'SEO')
->where('component_type', 'components_seo_seos');
}
}