1], [['limit'], 'default', 'value' => 20], ]; } public function search() { if (!$this->validate()) { return ['code' => 1, 'msg' => $this->getErrorSummary(false)[0]]; } $product_batch_info = // ProductBatchProcess::find()->alias('pbp') // ->innerJoin(['pbpl' => ProductBatchProcessLog::tableName()], 'pbp.id=pbpl.product_batch_process_id') // ->leftJoin(['pb' => ProductBatch::tableName()], 'pb.id=pbp.product_batch_id') ProductBatch::find()->alias('pb') ->leftJoin(['p' => Product::tableName()], 'p.id=pb.product_id') ->where([ 'pb.is_delete' => 0, 'pb.store_id' => get_store_id(), // 'pbp.process_user_id' => $this->user_id, 'pb.id' => $this->product_batch_id ]) ->select(['pb.batch_number', 'pb.batch_name', 'p.product_name', 'p.updated_at'])->asArray()->one(); $product_batch_info['updated_at'] = date("Y-m-d H:i:s", $product_batch_info['updated_at']); $query = ProductBatchProcess::find()->alias('pbp') ->innerJoin(['pbpl' => ProductBatchProcessLog::tableName()], 'pbp.id=pbpl.product_batch_process_id') ->leftJoin(['pb' => ProductBatch::tableName()], 'pb.id=pbp.product_batch_id') // ->innerJoin(['pbpls' => ProductBatchProcessLogSheet::tableName()], 'pbpls.process_log_id=pbpl.id') ->where([ 'pbp.is_delete' => 0, 'pbp.store_id' => get_store_id(), 'pbpl.state' => 1, 'pb.id' => $this->product_batch_id ]) ->select([ 'pbp.process_name', 'pbpl.id as process_log_id']); $count = $query->count(); $pagination = new Pagination(['totalCount' => $count, 'page' => $this->page - 1, 'pageSize' => $this->limit]); $list = $query->limit($pagination->limit)->offset($pagination->offset)->asArray()->all(); foreach ($list as $k => $v) { $list[$k]['sheet_list'] = ProductBatchProcessLogSheet::find()->where(['process_log_id' => $v['process_log_id'], 'is_delete' => 0])->all(); } return [ 'code' => 0, 'msg' => 'success', 'data' => [ 'row_count' => $count, 'page_count' => $pagination->pageCount, 'list' => $list, 'product_batch_info' => $product_batch_info, ], ]; } }