Добавление данных сразу в несколько таблиц

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Anton1999
Сообщения: 26
Зарегистрирован: 2017.04.28, 14:55

Re: Добавление данных сразу в несколько таблиц

Сообщение Anton1999 »

rodion_zlobin писал(а): 2017.05.17, 18:15 <?php $form = ActiveForm::begin(['id' => 'dynamic-form']); ?>
Я немного видоизменил там и все заработало. Код в шапке. Теперь, при создании города, улицы добавляются и записываются в бд. Помогите реализовать теперь редактирование. Как сделать так что бы при редактировании выбранного города из бд подгружались улицы? Код как и в примере, только вот он не подгружает существующие улицы.
Аватара пользователя
rodion_zlobin
Сообщения: 207
Зарегистрирован: 2017.01.11, 16:33

Re: Добавление данных сразу в несколько таблиц

Сообщение rodion_zlobin »

Абсолютно также, как в примере виджета ;)
Anton1999
Сообщения: 26
Зарегистрирован: 2017.04.28, 14:55

Re: Добавление данных сразу в несколько таблиц

Сообщение Anton1999 »

rodion_zlobin писал(а): 2017.05.22, 18:04 Абсолютно также, как в примере виджета ;)
укажите именно на место где там это, а то я вроде сделал все как в примере, но почему то не работает :( весь код в шапке
Аватара пользователя
rodion_zlobin
Сообщения: 207
Зарегистрирован: 2017.01.11, 16:33

Re: Добавление данных сразу в несколько таблиц

Сообщение rodion_zlobin »

Так вы посмотрите, что передаете в переменной modelsTs. Как минимум у вас связь с улицами hasMany должна быть
Anton1999
Сообщения: 26
Зарегистрирован: 2017.04.28, 14:55

Re: Добавление данных сразу в несколько таблиц

Сообщение Anton1999 »

rodion_zlobin писал(а): 2017.05.23, 09:07 Так вы посмотрите, что передаете в переменной modelsTs. Как минимум у вас связь с улицами hasMany должна быть
Помогите пожалуйста с этим. Я исправил связь на hasMany. А что делать далее и как? Не понимаю :oops:
Аватара пользователя
rodion_zlobin
Сообщения: 207
Зарегистрирован: 2017.01.11, 16:33

Re: Добавление данных сразу в несколько таблиц

Сообщение rodion_zlobin »

Вначале, посмотрите, что в переменной - print_r($modelsTs). У вас скорее всего не сохраняются в базу данные, нужно вывести ошибки будет в контроллере - $modelTs->errors
Anton1999
Сообщения: 26
Зарегистрирован: 2017.04.28, 14:55

Re: Добавление данных сразу в несколько таблиц

Сообщение Anton1999 »

rodion_zlobin писал(а): 2017.05.23, 13:42 Вначале, посмотрите, что в переменной - print_r($modelsTs)
с этого момента можно подробнее? где мне добавить print_r($modelsTs) и куда оно выведет данные? в консоли в браузере при загрузки страницы?
Аватара пользователя
rodion_zlobin
Сообщения: 207
Зарегистрирован: 2017.01.11, 16:33

Re: Добавление данных сразу в несколько таблиц

Сообщение rodion_zlobin »

да просто на форме
Anton1999
Сообщения: 26
Зарегистрирован: 2017.04.28, 14:55

Re: Добавление данных сразу в несколько таблиц

Сообщение Anton1999 »

rodion_zlobin писал(а): 2017.05.23, 13:42 У вас скорее всего не сохраняются в базу данные, нужно вывести ошибки будет в контроллере - $modelTs->errors
данные в базу сохраняются) у меня есть отдельная таблица где отображаются улицы. и при добавлении нового города и записи в нем нескольких улиц, в бд в таблице появляются данные улицы. но вот при редактировании выбранного города они не подгружаются. так что я уверен что не в этом дело.
Аватара пользователя
rodion_zlobin
Сообщения: 207
Зарегистрирован: 2017.01.11, 16:33

Re: Добавление данных сразу в несколько таблиц

Сообщение rodion_zlobin »

так покажите, что вы отдаете при исправлении записи - <?= print_r($modelsTS) ?>
Anton1999
Сообщения: 26
Зарегистрирован: 2017.04.28, 14:55

Re: Добавление данных сразу в несколько таблиц

Сообщение Anton1999 »

rodion_zlobin писал(а): 2017.05.23, 13:50 так покажите, что вы отдаете при исправлении записи - <?= print_r($modelsTS) ?>
прошу прощения за глупый вопрос, но все же, мне это в контроллере в самом начале функции update написать? или же в форме? и куда оно выведет результат?
Anton1999
Сообщения: 26
Зарегистрирован: 2017.04.28, 14:55

Re: Добавление данных сразу в несколько таблиц

Сообщение Anton1999 »

rodion_zlobin писал(а): 2017.05.23, 13:50 так покажите, что вы отдаете при исправлении записи - <?= print_r($modelsTS) ?>
так, добавил эту строчку в форме и вот что вывело:

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

Array ( [0] => backend\models\TableStreets Object ( [_attributes:yii\db\BaseActiveRecord:private] => 
Array ( [ID_STREET] => 101 [ID_SITY] => 561 [NAME_STREET] => Молодежная [DESC_STREET] => Длинная [CORR_ANSWER] => 1 [STATUS] => 1 ) 
[_oldAttributes:yii\db\BaseActiveRecord:private] => Array ( [ID_STREET] => 101 [ID_SITY] => 561 [NAME_STREET] => 
Молодежная [DESC_STREET] => Длинная [CORR_ANSWER] => 1 [STATUS] => 1 ) 
[_related:yii\db\BaseActiveRecord:private] => Array ( ) [_errors:yii\base\Model:private] => [_validators:yii\base\Model:private] => 
[_scenario:yii\base\Model:private] => default [_events:yii\base\Component:private] => Array ( ) [_behaviors:yii\base\Component:private] => 
Array ( ) ) )
Аватара пользователя
rodion_zlobin
Сообщения: 207
Зарегистрирован: 2017.01.11, 16:33

Re: Добавление данных сразу в несколько таблиц

Сообщение rodion_zlobin »

return $this->render('create', [
'model' => $model,
'modelsTs' => (empty($modelTs)) ? [new TableStreets] : $modelTs,
]);

Здесь исправьте -- $modelsTs вместо $modelTs
Anton1999
Сообщения: 26
Зарегистрирован: 2017.04.28, 14:55

Re: Добавление данных сразу в несколько таблиц

Сообщение Anton1999 »

rodion_zlobin писал(а): 2017.05.23, 14:14 return $this->render('create', [
'model' => $model,
'modelsTs' => (empty($modelTs)) ? [new TableStreets] : $modelTs,
]);

Здесь исправьте -- $modelsTs вместо $modelTs
ох боже мой, и как я мог сделать такие ошибки -_- все заработало) спасибо огромное)
Закрыто