Open bassta opened 9 years ago
а mergeList() вместо setList() не приведет к нужному результату?
Нет, не приведет.
При связях ManyToMany, работает все правильно, а OneToMany нет. Насколько я понял, там логика подразумевается такая: элемент коллекции (Foo) не может существовать вне коллекции (Bar). Поэтому запрос insert, а не update идет в бд. Но в любом случае поле связи пустое в запросе.
Столкнулся с непонятным поведением при сохранении коллекций.
Есть 2 тестовых класса:
И такой вот тест:
По идее, при выполнении метода save, должно произойти обновление записей в таблице foo. Но на самом деле происходит добавление новых записей. Причем поле связи bar_id, которое должно содержать id записи из таблицы bar остается пустым. Т.е. $bar->getFoos()->getList() вернет пустой список.
Вот что пишет в лог Postgres:
А вот что пишет в лог MySql:
Пробовал в ветках 1.0, 1.1, master - везде одинаковое поведение.