Files
aso/app/Models/Corporate.php
2022-07-25 10:20:35 +07:00

66 lines
1.4 KiB
PHP

<?php
namespace App\Models;
use App\Traits\Blameable;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;
class Corporate extends Model
{
use HasFactory, SoftDeletes, Blameable;
protected $fillable = [
'code',
'name',
'welcome_message',
'help_text',
'active',
'linking_rules',
];
protected $casts = [
'linking_rules' => 'array',
];
public function imports()
{
return $this->morphMany(ImportLog::class, 'importable');
}
public function files()
{
return $this->morphMany(File::class, 'fileable');
}
public function policies()
{
return $this->hasMany(CorporatePolicy::class);
}
public function currentPolicy()
{
return $this->hasOne(CorporatePolicy::class)
// ->where('start', '<=', now())
// ->where('end', '>=', now())
->where('active', true)
->latestOfMany();
}
public function corporatePlans()
{
return $this->hasMany(CorporatePlan::class, 'corporate_id');
}
public function corporateBenefits()
{
return $this->hasMany(CorporateBenefit::class, 'corporate_id');
}
public function corporateDivisions()
{
return $this->hasMany(CorporateDivision::class, 'corporate_id');
}
}