1], [['limit'], 'default', 'value' => 20], ]; } public function search() { if (!$this->validate()) { return ['code' => 1, 'msg' => $this->getErrorSummary(false)[0]]; } $query = ProductBatchProcess::find()->alias('pbp') ->innerJoin(['pbpl' => ProductBatchProcessLog::tableName()], 'pbp.id=pbpl.product_batch_process_id') ->innerJoin(['pbps' => ProductBatchProcessSheet::tableName()], 'pbp.id=pbps.product_batch_process_id') ->leftJoin(['pbpls' => ProductBatchProcessLogSheet::tableName()], 'pbps.id=pbpls.process_sheet_id and `pbpls`.`is_delete`=0') ->where([ 'pbpl.is_delete' => 0, // 'pbpl.state' => 0, 'pbp.is_delete' => 0, 'pbp.store_id' => get_store_id(), 'pbp.process_user_id' => $this->user_id, 'pbp.id' => $this->product_batch_process_id, ]) ->andWhere([ 'or', 'isnull(pbpls.id)', ['pbpls.is_delete' => 0], ]) ->select(['pbps.*', 'pbpl.id as process_log_id', 'pbpls.value']); $count = $query->count(); $pagination = new Pagination(['totalCount' => $count, 'page' => $this->page - 1, 'pageSize' => $this->limit]); $product_batch_process_sheet = $query->limit($pagination->limit)->offset($pagination->offset)->asArray()->all(); return [ 'code' => 0, 'msg' => 'success', 'product_batch_process_sheet' => $product_batch_process_sheet ]; } }