tigroid3
@tigroid3
PHP, YII2, SQL, Postgres, Docker, SPHINX, GIT

Как обновить запись по ID в форме?

Есть форма, которая добавляет запись.
У нас есть поле id. pk в бд.
Нужно чтобы если введён ключ в поле который уже есть, то данные обновились, если нет, то добавился новый pk соответственно
if (isset($_POST[get_class($model)]))
		  {
			 $model->attributes = $_POST[get_class($model)];
			 if ($model->validate())
			 {
				$event = new Calendar();

				$event->id = $model->id;
				$event->id_name = $model->id_name;
				$event->address = $model->address;
				$event->date = $model->date;
				$event->company = $model->company;
				$event->timestart = $model->timestart;
				$event->timeend = $model->timeend;
				$event->other_info = $model->other_info;

				$event->save();
			 }
}

Как это записать в экшене?
  • Вопрос задан
  • 193 просмотра
Решения вопроса 1
tigroid3
@tigroid3 Автор вопроса
PHP, YII2, SQL, Postgres, Docker, SPHINX, GIT
if ($model->id) {
    $event = Calendar::model()->find($model->id);
} else {
    $event = new Calendar();
}

$event->id_name = $model->id_name;
$event->address = $model->address;
...

$event->save();
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы