Вывод записей из таблицы в инпуты формы и вставка в них значений

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
Аватара пользователя
webplus
Сообщения: 336
Зарегистрирован: 2012.02.24, 22:05

Вывод записей из таблицы в инпуты формы и вставка в них значений

Сообщение webplus »

Здравствуйте!
Хочу сделать вывод записей из таблицы в инпуты формы, и заполнять можно только выбранные инпоинты для каждого юзера. Использую hasMany для этих целей
вот вид:

Код: Выделить всё

                <?foreach ($items as $item):?>
                    <h2><?=$item->name?></h2>
                    <?foreach ($item->children as $_item):?>
                        <h3><?=$_item->name?></h3>
                        <?foreach ($_item->children as $children):?>
                            <?= $form->field($children, 'cost[]')->label($children->name) ?>
                        <?endforeach;?>
                    <?endforeach;?>
                <?endforeach;?>
вот модель:

Код: Выделить всё

Class Price extends ActiveRecord
{
    public static function tableName()
    {
        return 'price';
    }

    public function getChildren()
    {
        return $this->hasMany(self::className(), ['parent_id' => 'id']);
    }

    public function getCost()
    {
        return $this->hasMany(UserPrice::className(), ['price_id' => 'price_id'])->viaTable(UserPrice::tableName(), ['user_id' => Yii::$app->user->id]);
    }
}
но что то не то у меня с методом getCost он вызывается в форме и должен подставлять цены из базы.
Модель UserPrice имеет поля: price_id, user_id, cost
Сайт по работе в Украине: https://jobis.com.ua/. Сайт по поиску строителей: https://stroyzakaz.com.ua/
Создание сайтов в Киеве: https://webplus.com.ua/ по доступной цене.
andku83
Сообщения: 988
Зарегистрирован: 2016.07.01, 10:24
Откуда: Харьков

Re: Вывод записей из таблицы в инпуты формы и вставка в них значений

Сообщение andku83 »

возможно:

Код: Выделить всё

                        <?foreach ($_item->cost as $cost):?>
                            <?= $form->field($cost, 'price_id['.$cost->price_id.']')->label($cost->price_id) ?>
                        <?endforeach;?>
попробуйте уточнить что вам нужно получить
Ответить