<?php namespace App\Models; use App\User; use Illuminate\Support\Facades\DB; use Illuminate\Database\Eloquent\Model; use Modules\LmsSaas\Entities\SaasCheckout; use Modules\LmsSaas\Entities\SaasInstitutePlanManagement; use Modules\LmsSaasMD\Entities\SaasCheckout as MDSaasCheckout; use Modules\LmsSaasMD\Entities\SaasInstitutePlanManagement as MDSaasInstitutePlanManagement; use Modules\Setting\Model\GeneralSetting; use Illuminate\Database\Eloquent\SoftDeletes; use Illuminate\Database\Eloquent\Factories\HasFactory; class LmsInstitute extends Model { use SoftDeletes; protected $connection = 'mysql'; protected $dates = ['deleted_at']; public function user() { return $this->belongsTo(User::class)->withDefault(); } public function settings() { $settings = DB::table('general_settings')->where('lms_id', $this->id)->pluck('value', 'key'); $settings['country_name'] = DB::table('countries')->where('id', $settings['country_id'])->first()->name ?? ''; return $settings; } public function plan_management() { if (isModuleActive('LmsSaasMD')) { return $this->belongsTo(MDSaasInstitutePlanManagement::class, 'id', 'lms_id')->withDefault(); } else { return $this->belongsTo(SaasInstitutePlanManagement::class, 'id', 'lms_id')->withDefault(); } } public function saas_checkout() { if (isModuleActive('LmsSaasMD')) { return $this->hasMany(MDSaasCheckout::class, 'lms_id')->orderBy('id', 'desc'); } else { return $this->hasMany(SaasCheckout::class, 'lms_id')->orderBy('id', 'desc'); } } }