Konstantin
абсолютно нормальный подход
Дмитрий
захожу в редактирование кампании - и вручную выствляю цену на каждую страну, потом сохраняю
Konstantin
ну или например бывает, что статья связана с тегами, но при этом у тегов есть приоритет
Konstantin
короче нормальная картина
Дмитрий
ну да смысл такой примерно
Konstantin
разве что придутся завести модель для промежуточной таблицы, и связь между странами и кампаниями сделать не viaTable, а via
Konstantin
ну тогда вот и ответ
Дмитрий
если не сложно - объясни плиз подробнее, впервые сталкиваюсь с такой штукой
Дмитрий
туплю
Дмитрий
via - это не таблица, а связь, вот и какую связь прописать
Konstantin
public function getOrderItems() { return $this->hasMany(OrderItem::className(), ['order_id' => 'id']); } public function getItems() { return $this->hasMany(Item::className(), ['id' => 'item_id']) ->via('orderItems'); }
Konstantin
вот прямо из доки
Konstantin
есть order (код из него)
Konstantin
и промежуточная таблица, которую они назвали OrderItem
Konstantin
но на нее есть отдельная модель
Alexey
Здравствуйте. Подскажите корректный способ передать из контроллера в вид результат прав доступа, описанных в behaviors(). Нужно для отображения элементов в зависимости от прав. Не могу разобраться, как в экшн контроллера передать результат обработки прав.
Anonymous
он что с чем связать-то хочет? Какая коненчая цель-то?
Anonymous
чтобы получить цену для конкретной страны, надо знать id компании и id страны.
Дмитрий
я хочу при сохранении у меня всё по местам записалось
Дмитрий
*чтобы
Anonymous
ты хочешь иметь 1 форму для заполнения цен для всех стран, так?
Дмитрий
посредством описаных связей
Konstantin
я бы при сохранении все вручную сохранял, или нашел бы подходящее поведение для many-many, которое это поддерживает
Дмитрий
верно!
Konstantin
из коробки сохраняться не будет
Konstantin
читать - да
Anonymous
ща, где видел подобное.
Дмитрий
ну да читать читаю норм
Дмитрий
писать - проблема
Дмитрий
use voskobovich\linker\LinkerBehavior;
Дмитрий
это поведение юзаю везде
Дмитрий
где связ таблы
Дмитрий
но когда появилось доп-поле - появилисб сложности
Konstantin
ну
Konstantin
я не уверен, что линк здесь сработает
Konstantin
с хранением дополнительных данных в промежуточной таблице
Anonymous
во https://yiiframework.com.ua/ru/doc/guide/2/input-tabular-input/
Konstantin
ой
Konstantin
i stand corrected
Konstantin
public void link ( $name, $model, $extraColumns = [] )
Anonymous
угу, или link.
Anonymous
ахах, сам про него забыл.
Дмитрий
то есть линк кушает доп поля
Konstantin
$country->link('campaigns', $campaign, ['price' => 12345])?
Лёша
$extraColumns
Konstantin
вот
Konstantin
где Country::getCampaigns() - это описание связи
Konstantin
use voskobovich\linker\LinkerBehavior;
я не знаю, чем эта версия лучше предыдущей, я юзаю старую, ManyToManyBehavior
Дмитрий
да я тож не знаю чем лучше, меня испугало слово deprecated soon
Дмитрий
я сразу новую юзаю
Дмитрий
где Country::getCampaigns() - это описание связи
в этой связи я цену должен видеть?
Niko
Привет! Оставлял issue на yii2. Я так понимаю, что это не баг? https://github.com/yiisoft/yii2/issues/14634
Anonymous
о, на соседнем рассказали как сделать проще.
Anonymous
да-да, я про гиттер.
Дмитрий
ну да щас попробую через отдельный класс
Дмитрий
в любом случае всем большое спасибо!!!
Лёша
Привет! Оставлял issue на yii2. Я так понимаю, что это не баг? https://github.com/yiisoft/yii2/issues/14634
ну как бы для промежуточных тадлиц некаторые вообще AR модель не создают.
Niko
я создал, добавил в нем поведение. Однако оно срабатывает при прямом сохранении этого объекта
Niko
Сейчас приведу пример
mr.
На счет Many2Many behavior советую от yii2tech https://github.com/yii2tech/ar-linkmany
Niko
$user->link('posts') - не работает $userPost->save() - срабатывает
Дмитрий
Ivan
ну как бы для промежуточных тадлиц некаторые вообще AR модель не создают.
Я создаю, чтобы всё было, и делаю аж 2 связи в AR, на M-M и на вторую таблицу via() таблица M-M
Ivan
Иначе у тебя две околомагические константы в двух AR связи M-M
Дмитрий
На счет Many2Many behavior советую от yii2tech https://github.com/yii2tech/ar-linkmany
Это решит мою задачу? стоит в нём разобраться ?
Ivan
Название промежуточной таблицы
Ivan
Это решит мою задачу? стоит в нём разобраться ?
Я использую для облегчения работы с M-M, но у меня без дополнительных полей в промежуточной таблице
Niko
я тоже создаю AR для промежуточной таблицы. Мало ли - завтра ->link('obj') сломается, так я явно задам через ModelRelationController->create
Дмитрий
ну чот щас читаю - не вижу про доп-поля
Niko
@crestoff $model->link('posts', ['row_in_via_table' => 'value'])
Niko
короче так понимаю, что это не баг для TimestampBehavior, если кроме меня это никому не нужно
Дмитрий