study-api-v2/app/Models/Schools/SchoolCampus.php

89 lines
2.0 KiB
PHP

<?php
namespace App\Models\Schools;
use App\Models\BaseModel;
use App\Models\Schools\School;
use App\Models\Schools\SchoolClass;
use App\Models\System\SystemUserSchoolCampus;
/**
* 校区模型
* @package App\Models\Schools
* @property int $id 主键ID
* @property string $name 校区名称
* @property string|null $alias 校区别名
* @property int $school_id 所属学校ID
* @property string|null $code 校区代码
* @property bool $self_support 是否自营
* @property int $is_open_user_login 是否开放用户登录
* @property int $status 状态
* @property \Carbon\Carbon $created_at 创建时间
* @property \Carbon\Carbon $updated_at 更新时间
* @property \Carbon\Carbon|null $deleted_at 删除时间
* @property int $tenant_id 租户ID
*/
class SchoolCampus extends BaseModel
{
protected $table = 'school_campus';
/**
* 启用系统字段自动维护
*/
protected $enableSystemFields = true;
/**
* 启用租户隔离
*/
protected $enableTenantScope = true;
protected $fillable = [
'name',
'alias',
'school_id',
'code',
'self_support',
'is_open_user_login',
'status',
];
protected $casts = [
'school_id' => 'integer',
'self_support' => 'boolean',
'is_open_user_login' => 'integer',
'status' => 'integer',
];
/**
* 校区所属学校
*/
public function school()
{
return $this->belongsTo(School::class, 'school_id');
}
/**
* 校区的班级关联
*/
public function classes()
{
return $this->hasMany(SchoolClass::class, 'campus_id');
}
/**
* 校区的用户关联
*/
public function userSchoolCampuses()
{
return $this->hasMany(SystemUserSchoolCampus::class, 'campusid');
}
/**
* 激活状态查询作用域
*/
public function scopeActive($query)
{
return $query->where('status', 1);
}
}