study-api-v2/app/Models/System/SystemUserSchoolCampus.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);
}
}