86 lines
1.7 KiB
PHP
86 lines
1.7 KiB
PHP
<?php
|
|
|
|
namespace App\Models\System;
|
|
|
|
use App\Models\BaseModel;
|
|
use App\Models\Schools\School;
|
|
use App\Models\Schools\SchoolCampus;
|
|
use App\Models\User;
|
|
|
|
/**
|
|
* 系统用户校区关联模型
|
|
* @package App\Models\System
|
|
* @property int $id 主键ID
|
|
* @property int $userid 用户ID
|
|
* @property int $schoolid 学校ID
|
|
* @property int $campusid 校区ID
|
|
* @property \Carbon\Carbon $created_at 创建时间
|
|
* @property \Carbon\Carbon $updated_at 更新时间
|
|
* @property \Carbon\Carbon|null $deleted_at 删除时间
|
|
* @property int $tenant_id 租户ID
|
|
*/
|
|
class SystemUserSchoolCampus extends BaseModel
|
|
{
|
|
protected $table = 'system_user_school_campus';
|
|
|
|
protected $fillable = [
|
|
'userid',
|
|
'schoolid',
|
|
'campusid',
|
|
];
|
|
|
|
protected $casts = [
|
|
'userid' => 'integer',
|
|
'schoolid' => 'integer',
|
|
'campusid' => 'integer',
|
|
];
|
|
|
|
/**
|
|
* 关联用户
|
|
*/
|
|
public function user()
|
|
{
|
|
return $this->belongsTo(User::class, 'userid');
|
|
}
|
|
|
|
/**
|
|
* 关联学校
|
|
*/
|
|
public function school()
|
|
{
|
|
return $this->belongsTo(School::class, 'schoolid');
|
|
}
|
|
|
|
/**
|
|
* 关联校区
|
|
*/
|
|
public function campus()
|
|
{
|
|
return $this->belongsTo(SchoolCampus::class, 'campusid');
|
|
}
|
|
|
|
/**
|
|
* 根据用户ID查询
|
|
*/
|
|
public function scopeByUser($query, $userId)
|
|
{
|
|
return $query->where('userid', $userId);
|
|
}
|
|
|
|
/**
|
|
* 根据学校ID查询
|
|
*/
|
|
public function scopeBySchool($query, $schoolId)
|
|
{
|
|
return $query->where('schoolid', $schoolId);
|
|
}
|
|
|
|
/**
|
|
* 根据校区ID查询
|
|
*/
|
|
public function scopeByCampus($query, $campusId)
|
|
{
|
|
return $query->where('campusid', $campusId);
|
|
}
|
|
}
|