@Skrolea

Как сохранить модель перебором?

Хочу сохранить двухязычный контент. Форма
<?php $form = ActiveForm::begin(); ?>

    <?= $form->field($aboutLang_ru, 'title')->textInput() ?>

    <?= $form->field($aboutLang_ru, 'content')->textInput() ?>
    
    <?= $form->field($aboutLang_en, 'title')->textInput() ?>

    <?= $form->field($aboutLang_en, 'content')->textInput() ?>

    <div class="form-group">
        <?= Html::submitButton($model->isNewRecord ? Yii::t('app', 'Create') : Yii::t('app', 'Update'), ['class' => $model->isNewRecord ? 'btn btn-success' : 'btn btn-primary']) ?>
    </div>

    <?php ActiveForm::end(); ?>

И контроллер
public function actionCreate() {
        $model = new Post();
        $aboutLang_ru = new PostLang();
        $aboutLang_en = new PostLang();
        if ($model->load(Yii::$app->request->post())) {
            if ($model->save()) {
                                
                    $dbPost = new PostLang();
                    $dbPost->title = $aboutLang_ru->title;
                    $dbPost->content = $aboutLang_ru->content;
                    $dbPost->lang_id = ////////;
                    $dbPost->post_id = $model->id;
                    $dbPost->save();
             
            }
            return $this->redirect(['view', 'id' => $model->id]);
        } else {
            return $this->render('_form', [
                        'model' => $model, 'aboutLang_ru' => $aboutLang_ru, 'aboutLang_en' => $aboutLang_en]);
        }
    }

Вот как мне сделать перебор в сохранении, чтобы сохраняло сначала из $aboutLang_ru, а потом из $aboutLang_en? Разные записи в таблице и с разным lang_id, но с одинаковым post_id?
  • Вопрос задан
  • 133 просмотра
Пригласить эксперта
Ответы на вопрос 1
webinar
@webinar Куратор тега Yii
Учим yii: https://youtu.be/-WRMlGHLgRg
$langs = ['aboutLang_ru','aboutLang_en'];
foreach($langs as $lang){
// тут код
}


Или если идти по нормальному пути, то стоит почитать тут:
www.yiiframework.com/doc-2.0/guide-input-multiple-...

А если уж совсем правильно, но переводы должны быть в связанных таблицах, и их сохранение можно делать в моделе.
Ответ написан
Ваш ответ на вопрос

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

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