symfony:csDoctrineActAsSortablePlugin 和 i18n

发布于 2024-12-10 01:48:22 字数 393 浏览 0 评论 0原文

[最初发布于 Symfony 论坛,但没有(正确)答案已经给出了]。

有没有人曾经设法在任何具有 i18n 字段的模型上使用 csDoctrineActAsSortablePlugin 实现可排序行为? 一切都安装得很好,但是当尝试为 i18n 模型数据加载固定文件时,它会因重复键条目的 MySQL 完整性约束违规而崩溃。 i18n 型号是否需要特殊处理?

我的插件版本是1.5.4.1,安装在symfony 1.4.8上。

除此之外,您是否知道在管理生成器中添加“moveup”“movedown”功能的任何其他解决方案(插件)?

[originally posted on Symfony forum but no (proper) answer has been given yet].

Has anyone ever managed to put Sortable behavior using csDoctrineActAsSortablePlugin on any model having i18n fields?
Everything is installed fine but when trying to doctrine:data-load a fixtures file for the i18n model, it crashes by a MySQL integrity constraint violation about duplicate key entry.
Is special handling required for i18n models?

My plugin version is 1.5.4.1 installed on symfony 1.4.8.

Apart from this, do you know of any other solutions (plugins) for adding "moveup" "movedown" functionality in the admin generator?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

時窥 2024-12-17 01:48:22

我构建了 sfDoctrineBuildTask 类的自定义版本来解决此问题:

http ://forum.symfony-project.org/viewtopic.php?t=37340#p136449

I've built a custom version of the sfDoctrineBuildTask class that curates this problem:

http://forum.symfony-project.org/viewtopic.php?t=37340#p136449

可爱咩 2024-12-17 01:48:22

我找到了一种比最初在 symfony 论坛上发布的更好的解决方法。

  1. 在您的 schema.yml 中,注释所有模型的 Sortable 行为,并放置一个等效的 position 列来代替此列(这是插件将在数据库中为指定模型创建的实际列)具有以下属性:

    位置: { 类型: 整数, notnull: false }
    
  2. Run symfonydoctrine:build --all --and-load --no -确认。这将正确插入数据库中的所有数据。

  3. 恢复您的schema.yml并运行symfonydoctrine:build --all-classes --model --forms --filters。这将恢复模型中的Sortable行为,而不影响您的数据。

I've found a better workaround that the one originally posted on symfony forum.

  1. In your schema.yml comment the Sortable behavior to all of your models and place an equivalent position column instead of this (this is the actual column that will be created by the plugin in the database for the specified model) with the following properties:

    position: { type: integer, notnull: false }
    
  2. Run symfony doctrine:build --all --and-load --no-confirmation. This will correctly insert all the data in the database.

  3. Restore your schema.yml and run symfony doctrine:build --all-classes --model --forms --filters. This will restore the Sortable behavior in your models without affecting your data.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文