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.
shipin/app/dao/crud/SchoolGradeClassDao.php

109 lines
3.4 KiB

12 months ago
<?php
/**
* +----------------------------------------------------------------------
* | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
* +----------------------------------------------------------------------
* | Copyright (c) 2016~2023 https://www.crmeb.com All rights reserved.
* +----------------------------------------------------------------------
* | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
* +----------------------------------------------------------------------
* | Author: CRMEB Team <admin@crmeb.com>
* +----------------------------------------------------------------------
*/
/**
* 班级管理
* @author crud自动生成代码
* @date 2023/10/13 11:46:22
*/
namespace app\dao\crud;
use app\dao\BaseDao;
use app\model\crud\SchoolGradeClass;
/**
* Class SchoolGradeClassDao
* @date 2023/10/13
* @package app\dao\crud
*/
class SchoolGradeClassDao extends BaseDao
{
/**
* 设置模型
* @return string
* @date 2023/10/13
*/
protected function setModel(): string
{
return SchoolGradeClass::class;
}
/**
* 搜索
* @param array $where
* @return \crmeb\basic\BaseModel
* @throws \ReflectionException
* @date {%DATE%}
*/
public function searchCrudModel(array $where = [], $field = ['*'], string $order = '', array $with = [])
{
return $this->getModel()->field($field)->when($order !== '', function ($query) use ($order) {
$query->order($order);
})->when($with, function ($query) use ($with) {
$query->with($with);
})->when(!empty($where['class_name']), function ($query) use ($where) {
$query->whereLike('class_name', '%' . $where['class_name'] . '%');
})->when(!empty($where['create_time']), function ($query) use ($where) {
$query->whereBetween('create_time', $where['create_time']);
})->when(!empty($where['update_time']), function ($query) use ($where) {
$query->whereBetween('update_time', $where['update_time']);
})->when(!empty($where['school_name']), function ($query) use ($where) {
$query->whereLike('school_name', '%' . $where['school_name'] . '%');
});
}
/**
* 校验班级邀请码是否存在
*/
public function selectClassCodeData(string $code)
{
$schoolData = $this->getModel()->field('class_name, school_id, school_name, class_code, id')
->where('class_code', $code)
->where('is_del', 0)
->find();
return is_null($schoolData) ? true : $schoolData->toArray();
}
/**
* 获取班级邀请码
*/
public function selectClassCode($id)
{
$schoolData = $this->getModel()->field('class_code')
->where('id', $id)
->where('is_del', 0)
->find();
return is_null($schoolData) ? [] : $schoolData->toArray();
}
/**
* 通过学校查询全部班级
*/
public function selectSchoolClass($schoolId)
{
$schoolData = $this->getModel()->field('id as class_id, grade_id, school_id, class_name, grade_name, school_name')
->where('school_id', $schoolId)
->where('is_del', 0)
->select();
return is_null($schoolData) ? [] : $schoolData->toArray();
}
public function getThisModel()
{
return $this->getModel();
}
}