kshnkvn
@kshnkvn
yay ✌️ t.me/kshnkvn

Как обновить данные в БД Yii2?

Есть простая форма ввода данных:
<div class="site-editdata">
    <div class="row">
        <div class="col-lg-5">
            <?php $form = ActiveForm::begin(['id' => 'form-editdata']); ?>
            <?= $form->field($model, 'username')->textInput(['autofocus' => true]) ?>
            <?= $form->field($model, 'area1') ?>
            <?= $form->field($model, 'area2') ?>
            <?= $form->field($model, 'area3') ?>
            <?= $form->field($model, 'area4') ?>
            <?= $form->field($model, 'area5') ?>
            <?= $form->field($model, 'area6') ?>
            <?= $form->field($model, 'area7') ?>
            <?= $form->field($model, 'password')->passwordInput() ?>
            <div class="form-group">
                <?= Html::submitButton('Edit', ['class' => 'btn btn-primary', 'name' => 'signup-button']) ?>
            </div>
            <?php ActiveForm::end(); ?>
        </div>
    </div>
</div>

Необходимо обновить соответствующие ячейки в таблице только в том случае, если в поле введено хоть что то. Допустим, если в поле username и area6 введены какие то данные, то их и нужно обновить в таблице, а остальные оставить как есть.
  • Вопрос задан
  • 841 просмотр
Решения вопроса 1
@djay
Необходимо обновить соответствующие ячейки в таблице только в том случае, если в поле введено хоть что то.


То есть необходимо выполнить запрос, лишь только в том случае когда те поля заполнены? Тогда сначала поставь валидацию на эти поля. То есть они не должны быть пустыми, и тогда фреймворк не даст обновить их, если они пустые.

Допустим, если в поле username и area6 введены какие то данные, то их и нужно обновить в таблице, а остальные оставить как есть.


Начиная со 2-й версии, обновляются лишь только те поля (в запросе), которые были иземененны. Если не было изменений вообще никаких, то запросов к базе не будет вообще.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы