/** * Creates data provider instance with search query applied * * @param array $params * * @return ActiveDataProvider */ public function searchDtl($params) { $query = GlHeaderModel::find(); //$query->select(['gl_header.*','gl_detail.*']); $query->with(['glDetails', 'glDetails.coa']); //$query->joinWith(['glDetails']); $query->orderBy(['number' => SORT_ASC]); $dataProvider = new ActiveDataProvider(['query' => $query]); $this->load($params); if (!$this->validate()) { $query->where('1=0'); return $dataProvider; } $query->andFilterWhere(['id' => $this->id, 'date' => $this->date, 'periode_id' => $this->periode_id, 'branch_id' => $this->branch_id, 'reff_type' => $this->reff_type, 'reff_id' => $this->reff_id, 'status' => $this->status, 'created_at' => $this->created_at, 'created_by' => $this->created_by, 'updated_at' => $this->updated_at, 'updated_by' => $this->updated_by]); $query->andFilterWhere(['like', 'number', $this->number])->andFilterWhere(['like', 'description', $this->description]); return $dataProvider; }
public function beforeDelete() { parent::beforeDelete(); $ada = GlHeader::find()->where('periode_id = :did', [':did' => $this->id])->exists(); if ($ada) { $this->addError('id', $this->name . 'telah digunakan dalam journal'); return false; } else { if ($this->status == self::STATUS_CLOSE) { $this->addError('id', $this->name . ' telah close, tidak dapat dihapus'); return false; } } return true; }
/** * Finds the GlHeader model based on its primary key value. * If the model is not found, a 404 HTTP exception will be thrown. * @param integer $id * @return GlHeader the loaded model * @throws NotFoundHttpException if the model cannot be found */ protected function findModel($id) { if (($model = GlHeader::find()->where('id=:did', [':did' => $id])->with(['glDetails', 'glDetails.coa'])->one()) !== null) { return $model; } else { throw new NotFoundHttpException('The requested page does not exist.'); } }