* Class PdmPartitemView * @package app\admin\controller */ class PdmPartitemView extends AdminController { /** * PdmPartitemView模型对象 * @var \app\admin\model\PdmPartitemView */ public function __construct() { parent::__construct(); $this->model = new PdmPartitemViewModel; } /** * 默认生成的方法为index/add/edit/del/status 五个方法 * 当创建CURD的时候,DIY的函数体和模板为空,请自行编写代码 */ public function index(): \support\Response { if (request()->isAjax()) { // $post = input(); // $post = request()->post(); $post = request()->all(); // $post['partnumber'] = input('partnumber'); // $pid = input('pid'); $limit = (int)input('limit') ?? 10; $page = (int)input('page') ?? 1; // if ($pid == null) { // $pid = (string)$this->model->minId(); // } // 生成查询数据 $where = $this->buildSelectParams(); $fieldList = $this->model->getFields(); $order = !array_key_exists('sort', $fieldList) ? 'id' : 'sort'; // $where[] = ['pid','in',$pid]; // $where[] = []; if (!empty($post['keyword'])) { $where[] = ['partnumber|purchasecode|parttype|value|description|mpn|mfgname|symbol|footprint|datasheet|usernickname|department','like','%'.$post['keyword'].'%']; // $where[] = ['reference','like','%'.$post['keyword'].'%']; // $where[] = ['content','like','%'.$post['keyword'].'%']; // $where[] = ['item','like','%'.$post['keyword'].'%']; } $count = $this->model->where($where)->count(); $subQuery = $this->model->field('id')->where($where)->order($order, 'desc')->limit($limit)->page($page)->buildSql(); $subQuery = '( SELECT object.id FROM ' . $subQuery . ' AS object )'; // $list = $this->model->where($where)->limit((int)$limit)->page((int)$page)->select(); $list = $this->model->with($this->relationModel)->where('id in' . $subQuery)->order($order, 'desc')->select() ; // $list = $this->model->where($where)->limit((int)$limit)->page((int)$page)->select(); return $this->success('查询成功', null, $list, $count); } return view('/pdm_partitem_view/index',[ ]); } }