LMS/app/Models/Organization.php

60 lines
1.3 KiB
PHP
Executable File

<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\HasMany;
use Illuminate\Database\Eloquent\Relations\BelongsToMany;
class Organization extends Model
{
use HasFactory;
protected $fillable = [
'name',
'inn',
'kpp',
'address',
'phone',
'email',
'description',
'is_active',
];
protected $casts = [
'is_active' => 'boolean',
];
public function users(): HasMany
{
return $this->hasMany(User::class);
}
public function groups(): HasMany
{
return $this->hasMany(Group::class);
}
public function courseRequests(): HasMany
{
return $this->hasMany(CourseRequest::class);
}
public function courseAssignments(): HasMany
{
return $this->hasMany(CourseAssignment::class);
}
public function courses()
{
// Получаем курсы через назначения
return $this->hasManyThrough(Course::class, CourseAssignment::class, 'organization_id');
}
public function activeUsers(): HasMany
{
return $this->hasMany(User::class)->where('is_active', true);
}
}