Подскажите пожалуйста как решить проблему
jb-studio opened this issue · 2 comments
Здравствуйте!
Если не сложно подскажите как решить проблемку.
У меня есть таблицы Profile (там хранятся данные пользователя), Countries (таблица с названием стран и id), Country_to_user (связь между таблицей Profile и Countries)
Пытаюсь установить связь
[ 'class' => \voskobovich\behaviors\ManyToManyBehavior::className(), 'relations' => [ 'countries' => 'countries', ], ],
public function getCountries() { return $this->hasMany(Countries::className(), ['id' => 'country_id']) ->viaTable('country_to_user', ['user_id' => 'user_id']); }
Сохранение работает только сохраняется user_id не тот что нужно
В таблице Profile есть просто id а есть user_id
http://joxi.ru/Vrwpkq6IKvzqgm
и при сохранении, сохраняется id, а нужно чтоб user_id
Подскажите пожалуйста как это можно сделать? Заранее спасибо!
Вот так лучше не делать 'countries' => 'countries'
. Лучше переименовать в 'country_ids' => 'countries'
.
Поведение сохранит то, что будет отправлено с формы.
Например:
Связать Profile(123) со списком Country(4,5,6,7)
123 => [4,5,6,7]
Настраиваете связь в профиле, а с формы приходит массив pk стран [4,5,6,7].
Спасибо за подсказку! Разобрался