Propel2 collections 在更新时消失

Propel2 collections disappear on update

我和我的同事使用 Symfony2 和 Propel1 编写了十几个 Web 应用程序。我们现在正在尝试使用 Propel2,但是在将应用程序从 Propel1 迁移到 Propel2 时遇到以下问题。

在我们的简单模式中,parent object、Auteur(作者)拥有 collection 的 children Livre(书) objects。我们使用 Symfony 表单创建 AuteurLivres object 的 collection。在这种情况下,AuteurLivres 正确保存在数据库中。

但是,当我们 更新 Auteur object 而不触及 Livres 的 collection , collection 被清空.

我们无法确定这是否是 Propel2(或不太可能是 Symfony2)中的错误,或者我们是否做错了事情。 几乎相同的代码(稍微适应了 Propel1)可以正常工作:Livres collection notAuteur 更新时被清空。

我们发布了一个重现该问题的最小项目。要使用 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

对于有关此问题的任何提示,我们将不胜感激。

方法是正确的,但是 Propel2 中有一个错误导致了这个问题。

已在 https://github.com/propelorm/Propel2/pull/1027

中修复