智慧教务系统
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

245 lines
5.6 KiB

<?php
// +----------------------------------------------------------------------
// | Niucloud-admin 企业快速开发的多应用管理平台
// +----------------------------------------------------------------------
// | 官方网址:https://www.niucloud.com
// +----------------------------------------------------------------------
// | niucloud团队 版权所有 开源版本可自由商用
// +----------------------------------------------------------------------
// | Author: Niucloud Team
// +----------------------------------------------------------------------
namespace app\model\class_grade;
use app\model\campus\Campus;
use app\model\personnel\Personnel;
use app\model\class_personnel_rel\ClassPersonnelRel;
use core\base\BaseModel;
use think\model\concern\SoftDelete;
use think\model\relation\HasMany;
use think\model\relation\HasOne;
/**
* 班级模型
* Class Class
* @package app\model\class
*/
class ClassGrade extends BaseModel
{
use SoftDelete;
/**
* 数据表主键
* @var string
*/
protected $pk = 'id';
/**
* 模型名称
* @var string
*/
protected $name = 'class';
/**
* 定义软删除标记字段.
* @var string
*/
protected $deleteTime = 'deleted_at';
/**
* 定义软删除字段的默认值.
* @var int
*/
protected $defaultSoftDelete = 0;
/**
* 搜索器:班级班级编号
* @param $value
* @param $data
*/
public function searchIdAttr($query, $value, $data)
{
if ($value) {
$query->where("id", $value);
}
}
/**
* 搜索器:班级校区ID
* @param $value
* @param $data
*/
public function searchCampusIdAttr($query, $value, $data)
{
if ($value) {
$query->where("campus_id", $value);
}
}
/**
* 搜索器:班级校区名称
* @param $value
* @param $data
*/
public function searchCampusNameAttr($query, $value, $data)
{
if ($value) {
$query->where("campus_name", $value);
}
}
/**
* 搜索器:班级班级名称
* @param $value
* @param $data
*/
public function searchClassNameAttr($query, $value, $data)
{
if ($value) {
$query->where("class_name", $value);
}
}
/**
* 搜索器:班级班级主教练
* @param $value
* @param $data
*/
public function searchHeadCoachAttr($query, $value, $data)
{
if ($value) {
$query->where("head_coach", $value);
}
}
/**
* 搜索器:班级班级授课年龄段
* @param $value
* @param $data
*/
public function searchAgeGroupAttr($query, $value, $data)
{
if ($value) {
$query->where("age_group", $value);
}
}
/**
* 搜索器:班级班级类型
* @param $value
* @param $data
*/
public function searchClassTypeAttr($query, $value, $data)
{
if ($value) {
$query->where("class_type", $value);
}
}
/**
* 搜索器:班级班级助教
* @param $value
* @param $data
*/
public function searchAssistantCoachAttr($query, $value, $data)
{
if ($value) {
$query->where("assistant_coach", $value);
}
}
/**
* 搜索器:班级创建时间
* @param $value
* @param $data
*/
public function searchCreatedAtAttr($query, $value, $data)
{
if ($value) {
$query->where("created_at", $value);
}
}
/**
* 搜索器:班级修改时间
* @param $value
* @param $data
*/
public function searchUpdatedAtAttr($query, $value, $data)
{
if ($value) {
$query->where("updated_at", $value);
}
}
/**
* 搜索器:班级逻辑删除时间
* @param $value
* @param $data
*/
public function searchDeletedAtAttr($query, $value, $data)
{
if ($value) {
$query->where("deleted_at", $value);
}
}
/**
* 搜索器:班级班级状态
* @param $value
* @param $data
*/
public function searchStatusAttr($query, $value, $data)
{
if ($value) {
$query->where("status", $value);
}
}
/**
* 搜索器:班级班级排序
* @param $value
* @param $data
*/
public function searchSortOrderAttr($query, $value, $data)
{
if ($value) {
$query->where("sort_order", $value);
}
}
/**
* 搜索器:班级班级备注
* @param $value
* @param $data
*/
public function searchRemarksAttr($query, $value, $data)
{
if ($value) {
$query->where("remarks", $value);
}
}
public function campus(){
return $this->hasOne(Campus::class, 'id', 'campus_id')->joinType('left')->withField('campus_name,id')->bind(['campus_id_name'=>'campus_name']);
}
public function personnel(){
return $this->hasOne(Personnel::class, 'id', 'head_coach')->joinType('left')->withField('name,id')->bind(['head_coach_name'=>'name']);
}
public function personnelAll(){
return $this->hasOne(Personnel::class, 'id', 'head_coach')->joinType('left')->withField('head_img,id')->bind(['head_coach_head_img'=>'head_img']);
}
public function personnelName(){
return $this->hasOne(Personnel::class, 'id', 'head_coach')->joinType('left')->withField('name,id')->bind(['head_coach_name'=>'name']);
}
public function classPersonnelRel(){
return $this->hasMany(ClassPersonnelRel::class, 'class_id', 'id');
}
}