108 lines
2.4 KiB
PHP
108 lines
2.4 KiB
PHP
<?php
|
|
|
|
namespace App\Models\Schools;
|
|
|
|
use App\Models\BaseModel;
|
|
use App\Models\Schools\School;
|
|
use App\Models\Schools\SchoolCampus;
|
|
use App\Models\Students\StudentClass;
|
|
use App\Models\Teachers\TeacherClass;
|
|
|
|
/**
|
|
* 班级模型
|
|
* @package App\Models\Schools
|
|
* @property int $id 主键ID
|
|
* @property int $type 班级类型
|
|
* @property string $name 班级名称
|
|
* @property int $school_id 所属学校ID
|
|
* @property int $campus_id 所属校区ID
|
|
* @property int $grade_id 年级ID
|
|
* @property int $number 班级编号
|
|
* @property string|null $code 班级代码
|
|
* @property int $status 状态
|
|
* @property int $level 班级级别
|
|
* @property int $is_open_user_login 是否开放用户登录
|
|
* @property \Carbon\Carbon $created_at 创建时间
|
|
* @property \Carbon\Carbon $updated_at 更新时间
|
|
* @property \Carbon\Carbon|null $deleted_at 删除时间
|
|
* @property int $tenant_id 租户ID
|
|
*/
|
|
class SchoolClass extends BaseModel
|
|
{
|
|
protected $table = 'school_class';
|
|
|
|
/**
|
|
* 启用系统字段自动维护
|
|
*/
|
|
protected $enableSystemFields = true;
|
|
|
|
/**
|
|
* 启用租户隔离
|
|
*/
|
|
protected $enableTenantScope = true;
|
|
|
|
protected $fillable = [
|
|
'type',
|
|
'name',
|
|
'school_id',
|
|
'campus_id',
|
|
'grade_id',
|
|
'number',
|
|
'code',
|
|
'status',
|
|
'level',
|
|
'is_open_user_login',
|
|
];
|
|
|
|
protected $casts = [
|
|
'type' => 'integer',
|
|
'school_id' => 'integer',
|
|
'campus_id' => 'integer',
|
|
'grade_id' => 'integer',
|
|
'number' => 'integer',
|
|
'status' => 'integer',
|
|
'level' => 'integer',
|
|
'is_open_user_login' => 'integer',
|
|
];
|
|
|
|
/**
|
|
* 班级所属学校
|
|
*/
|
|
public function school()
|
|
{
|
|
return $this->belongsTo(School::class, 'school_id');
|
|
}
|
|
|
|
/**
|
|
* 班级所属校区
|
|
*/
|
|
public function campus()
|
|
{
|
|
return $this->belongsTo(SchoolCampus::class, 'campus_id');
|
|
}
|
|
|
|
/**
|
|
* 班级的学生关联
|
|
*/
|
|
public function studentClasses()
|
|
{
|
|
return $this->hasMany(StudentClass::class, 'class_id');
|
|
}
|
|
|
|
/**
|
|
* 班级的老师关联
|
|
*/
|
|
public function teacherClasses()
|
|
{
|
|
return $this->hasMany(TeacherClass::class, 'class_id');
|
|
}
|
|
|
|
/**
|
|
* 激活状态查询作用域
|
|
*/
|
|
public function scopeActive($query)
|
|
{
|
|
return $query->where('status', 1);
|
|
}
|
|
}
|