/
v.bolshakov
/
AIEcosystem-Testing
Обзор
Документация
Войти
/
v.bolshakov
/
AIEcosystem-Testing
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
dev
api/components/actions/mt_project/UpdateAction.php
74 строки
2 KB
Developer
Initial commit
03 авг 2026, 17:43
03 авг 2026, 17:43
7433917
Код
Авторство
О чём код?
<?php namespace api\components\actions\mt_project; use Yii; use yii\db\ActiveRecordInterface; use yii\helpers\VarDumper; use yii\web\NotFoundHttpException; /** * Логирование создание проекта * * @author Dmitry E. Semenov <sde.tomsk@gmail.com> * @copyright Self (c) 2023 */ class UpdateAction extends \yii\rest\UpdateAction { /** * @inheritdoc */ public function run($id) { $project_type = Yii::$app->request->post('project_type'); Yii::debug(VarDumper::dumpAsString([ 'project_type' => $project_type ])); if ($project_type == 'sample_mt') { $this->modelClass = 'common\forms\gtp\SampleMtProjectForm'; } else { $this->modelClass = 'common\forms\gtp\MtProjectForm'; } Yii::debug(VarDumper::dumpAsString([ 'modelClass' => $this->modelClass ])); return parent::run($id); } /** * @inheritdoc */ public function findModel($id) { if ($this->findModel !== null) { return call_user_func($this->findModel, $id, $this); } /* @var $modelClass ActiveRecordInterface */ $modelClass = $this->modelClass; Yii::debug(VarDumper::dumpAsString([ 'modelClass' => $modelClass ])); $keys = $modelClass::primaryKey(); if (count($keys) > 1) { $values = explode(',', $id); if (count($keys) === count($values)) { $model = $modelClass::findOne(array_combine($keys, $values)); } } elseif ($id !== null) { $model = $modelClass::findOne($id); } if (isset($model)) { return $model; } throw new NotFoundHttpException("Object not found: $id"); } }