с моделью Product. Есть вторая модель ModelHasPivot_2, у которой тоже есть belongsToMany с моделью Product, но также присутствует связь по belongsTo с моделью ModelHasPivot_1Parent. Проблема состоит в том, чтобы изменить значение дополнительной колонки was_in_model_2 с модели Product, при условии, если id Product'а встречается в ModelHasPivot_2 . Это все у модели ModelHasPivot_1Parent. Можно ли такое сделать через mysql?
Сейчас получается так, что Я получаю отдельным списком id продуктов, которые были в ModelHasPivot_2, затем, прохожу циклом по каждому продукту, который входит в ModelHasPivot_1Parent, ищу если есть совпадения между ModelHasPivot_2.id и ModelHasPivot_1Parent.id, то меняю значение колонки was_in_model_2 на 1
Сложно понимать что тут написано с таким неймингом, но думаю что можно
ModelHasPivot_1Parent m2m Product ModelHasPivot_2 m2m Product ModelHasPivot_1Parent m2o ModelHasPivot_2 Что именно нужно тут сделать? Где доп колонка? Для Product -> whereHas ModelHasPivot_1Parent -> whereHas ModelHasPivot_2 Нужно обновить was_in_model_2?
was_in_model_2 это дополнительное поле при селекте у Product *, 0 was_in_model_2
Откуда он берется?
нужно, условно, добавить колонку was_in_model_2 для продуктов с дефолтным значением 0. Дальше, если, Я вижу, что текущий продукт имеется в модели ModelHasPivot_2, то Я меняю was_in_model_2 на 1
Обсуждают сегодня