* +---------------------------------------------------------------------- */ /** * 班级管理 * @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(); } }