<?php /** * Created by PhpStorm. * User: Administrator * Date: 2020/3/19 * Time: 16:47 */ namespace app\admin\controller; use app\common\controller\Backend; use think\Db; class Hobby extends Backend { /** * OrderChat模型对象 * @var \app\admin\model\Study */ protected $model = null; public function _initialize() { parent::_initialize(); $this->model = new \app\admin\model\ThirdStudy(); } public function index1($ids = null) { $this->relationSearch = true; //设置过滤方法 $this->request->filter(['strip_tags']); if ($this->request->isAjax()) { //如果发送的来源是Selectpage,则转发到Selectpage if ($this->request->request('keyField')) { return $this->selectpage(); } list($where, $sort, $order, $offset, $limit) = $this->buildparams(); $total = $this->model ->where($where) ->where('third_id',$ids) ->order($sort, $order) ->count(); $list = $this->model ->where($where) ->where('third_id',$ids) ->order($sort, $order) ->limit($offset, $limit) ->select(); $list = collection($list)->toArray(); foreach ($list as &$v){ //该科目用户完成的课时跟总课时 $finish_hour = Db::name('study_class') ->alias('a') ->join('classes b','a.class_id = b.id') ->where('a.third_id',$ids) ->where('a.study_id',$v['study_id']) ->where('a.status',2) ->field('sum(b.class_hour) as finish_hour') ->find(); if(empty($finish_hour['finish_hour'])){ $finish_hour['finish_hour'] = 0; } //查出该科目的总课时 $class = Db::name('study')->where('id',$v['study_id'])->value('class_hour'); //该科目的主修课程客户完成数量 $finish_count = Db::name('study_class') ->where('third_id',$ids) ->where('study_id',$v['study_id']) ->where('status',2) ->count(); if(empty($finish_count)){ $finish_count = 0; } //查询该科目主修课程数量 $zhu_quan = Db::name('classes') ->where('study_id',$v['study_id']) ->where('is_major',1) ->count(); $v['required_num'] = $finish_count.'/'.$zhu_quan; //完成课时跟全部课时比例 $v['finish_class'] = $finish_hour['finish_hour'].'/'.$class; $v['study_id'] = Db::name('study')->where('id',$v['study_id'])->value('examname'); } $result = array("total" => $total, "rows" => $list); return json($result); } $this->assignconfig('ids',$ids); return $this->view->fetch(); } }