|
- <?php
-
-
- use yii\db\ActiveRecordInterface;
- use yii\helpers\StringHelper;
-
-
-
-
-
- $controllerClass = StringHelper::basename($generator->controllerClass);
- $modelClass = StringHelper::basename($generator->modelClass);
- $searchModelClass = StringHelper::basename($generator->searchModelClass);
- if ($modelClass === $searchModelClass) {
- $searchModelAlias = $searchModelClass . 'Search';
- }
-
-
- $class = $generator->modelClass;
- $pks = $class::primaryKey();
- $urlParams = $generator->generateUrlParams();
- $actionParams = $generator->generateActionParams();
- $actionParamComments = $generator->generateActionParamComments();
-
- echo "<?php\n";
- ?>
-
- namespace <?= StringHelper::dirname(ltrim($generator->controllerClass, '\\')) ?>;
-
- use Yii;
- use <?= ltrim($generator->modelClass, '\\') ?>;
- <?php if (!empty($generator->searchModelClass)): ?>
- use <?= ltrim($generator->searchModelClass, '\\') . (isset($searchModelAlias) ? " as $searchModelAlias" : "") ?>;
- <?php else: ?>
- use yii\data\ActiveDataProvider;
- <?php endif; ?>
- use <?= ltrim($generator->baseControllerClass, '\\') ?>;
- use yii\web\NotFoundHttpException;
- use yii\filters\VerbFilter;
-
-
- class <?= $controllerClass ?> extends <?= StringHelper::basename($generator->baseControllerClass) . "\n" ?>
- {
-
-
- public function behaviors()
- {
- return [
- 'verbs' => [
- 'class' => VerbFilter::className(),
- 'actions' => [
- 'delete' => ['POST'],
- ],
- ],
- ];
- }
-
-
-
- public function actionIndex()
- {
- <?php if (!empty($generator->searchModelClass)): ?>
- $searchModel = new <?= isset($searchModelAlias) ? $searchModelAlias : $searchModelClass ?>();
- $dataProvider = $searchModel->search(Yii::$app->request->queryParams);
-
- return $this->render('index', [
- 'searchModel' => $searchModel,
- 'dataProvider' => $dataProvider,
- ]);
- <?php else: ?>
- $dataProvider = new ActiveDataProvider([
- 'query' => <?= $modelClass ?>::find(),
- ]);
-
- return $this->render('index', [
- 'dataProvider' => $dataProvider,
- ]);
- <?php endif; ?>
- }
-
-
-
- public function actionView(<?= $actionParams ?>)
- {
- return $this->render('view', [
- 'model' => $this->findModel(<?= $actionParams ?>),
- ]);
- }
-
-
-
- public function actionCreate()
- {
- $model = new <?= $modelClass ?>();
-
- if ($model->load(Yii::$app->request->post()) && $model->save()) {
- return $this->redirect(['view', <?= $urlParams ?>]);
- } else {
- return $this->render('create', [
- 'model' => $model,
- ]);
- }
- }
-
-
-
- public function actionUpdate(<?= $actionParams ?>)
- {
- $model = $this->findModel(<?= $actionParams ?>);
-
- if ($model->load(Yii::$app->request->post()) && $model->save()) {
- return $this->redirect(['view', <?= $urlParams ?>]);
- } else {
- return $this->render('update', [
- 'model' => $model,
- ]);
- }
- }
-
-
-
- public function actionDelete(<?= $actionParams ?>)
- {
- $this->findModel(<?= $actionParams ?>)->delete();
-
- return $this->redirect(['index']);
- }
-
-
-
- protected function findModel(<?= $actionParams ?>)
- {
- <?php
- if (count($pks) === 1) {
- $condition = '$id';
- } else {
- $condition = [];
- foreach ($pks as $pk) {
- $condition[] = "'$pk' => \$$pk";
- }
- $condition = '[' . implode(', ', $condition) . ']';
- }
- ?>
- if (($model = <?= $modelClass ?>::findOne(<?= $condition ?>)) !== null) {
- return $model;
- } else {
- throw new NotFoundHttpException('The requested page does not exist.');
- }
- }
- }
|