我和我的同事已经使用 Symfony2 和 Propel1 编写了十几个 Web 应用程序。我们现在尝试使用 Propel2,但在将应用程序从 Propel1 迁移到 Propel2 时遇到以下问题。
在我们的简单模式中,父对象Auteur
(作者)拥有一组子Livre
(书)对象。我们使用 Symfony 表单来创建对象Auteur
集合Livres
。在这种情况下,Auteur
和Livres
正确地保存在数据库中。
但是,当我们更新Auteur
对象而不触及 的集合时,Livres
集合被清空。
我们无法确定这是否是 Propel2(或者不太可能是 Symfony2)中的错误,或者我们做错了什么。几乎相同的代码(在某种程度上适用于 Propel1)可以正常工作:更新时Livres
集合不会清空Auteur
。
我们已经发布了一个重现该问题的最小项目。要使用 Propel2 对其进行测试,请执行以下操作:
git clone https://github.com/spyrit/MinimalS2P2.git
cd MinimalS2P2
composer install
app/console propel:build
app/console propel:migration:diff
app/console propel:migration:migrate
要使用Propel1对其进行测试,请使用propel1
分支:
git checkout propel1
composer install
app/console propel:build
app/console propel:migration:generate-diff
app/console propel:migration:migrate
我们将不胜感激有关此问题的任何提示。