Несколько одинаковых полей, yii2

457
10 декабря 2016, 10:15

Здраствуйте, у меня есть таблица User и UserPhone. У одного пользователя может быть несколько номером. user_phone - user_id, phone Связь 1 к 1 Как сделать при добавлении пользователя, несколько полей типа <?= $form->field($userPhone, 'phone') ?> Что для этого нужно, что-то в контроллере менять?

Answer 1

Используйте массив

<?= $form->field($userPhone, 'phone[]') ?>

Пример действия:

$transaction = Yii::$app->db->beginTransaction();
try {
    $model->load(Yii::$app->request->post());
    foreach($model->phone as $phone){
        $userPhone = new UserPhone();
        $userPhone->phone = $model->id;
        if($userPhone->valid()){
            $this->link('userPhone', $userPhone);
        }
    }
    ...
    $transaction->commit();
} catch (Exception $e) {
    $transaction->rollBack();
}

Пример не является истиной. Почитайте про варианты сохранения связей, и выберите для себя, и своей реализации, свой.

READ ALSO
Почему CURL не хочет загружать Composer?

Почему CURL не хочет загружать Composer?

Возникал проблема при установке composer-a, никак не хочет устанавливатьсяВсе зависимости установил

288
Как легче всего распарсить xml документ?

Как легче всего распарсить xml документ?

В данном случае получить список стран https://wwwartlebedev

273
Как в AdmingeneratorGeneratorBundle работать с переменными

Как в AdmingeneratorGeneratorBundle работать с переменными

Суть проблемы заключается в следующемУ меня есть проект на symfony 2

254
Создание галереи пользователя

Создание галереи пользователя

Созрел интересный вопрос, у нас есть база пользователей, у каждого из них есть возможность создавать свою галерею, или даже несколько

250