Как проверить есть ли совпадение в базе по id? И обновить данные если такая запись есть

Контроллер принимает данные с формы:

public function actionIndex(){
        $model = new EditPrice();
        if($model->load(Yii::$app->request->post())){
            if($model->save()){
                Yii::$app->session->setFlash('success', 'Данные приняты');
                return $this->refresh();
            }else{
                Yii::$app->session->setFlash('error', 'что-то не так');
            }
        }

        return $this->render('index', compact('model'));
    }

форма во view выглядит вот так

<?php $form = ActiveForm::begin(['options' => ['id' => 'testForm']])?>
<?= $form->field($model,'org_id')->label('id организации')?>
<?= $form->field($model,'arrive_in_week')->label('Цена возврата за неделю')?>
<?= Html::submitButton('Отправить', ['class' => 'btn btn-success'])?>
<?php $form = ActiveForm::end()?>

я новичок в yii2, можете направить как сделать запись в бд, если не было совпадения по org_id ,а если такая запись есть - обновить данные? Спасибо!


Ответы (1 шт):

Автор решения: Алексей Шиманский

Придётся искать запись в БД.

$post = Yii::$app->request->post();
$model = EditPrice::findOne(['org_id' => $post['org_id']]);

if (is_null($model)) {
    // что-то
} else {
    $model->load($post);
    ...
}
→ Ссылка