1

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

在我们的简单模式中,父对象Auteur(作者)拥有一组子Livre(书)对象。我们使用 Symfony 表单来创建对象Auteur集合Livres。在这种情况下,AuteurLivres正确地保存在数据库中。

但是,当我们更新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

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

4

1 回答 1

0

该方法是正确的,但 Propel2 中存在导致此问题的错误。

它已在https://github.com/propelorm/Propel2/pull/1027中修复

于 2015-12-17T16:59:53.913 回答