Symfony: csDoctrineActAsSortablePlugin и i18n - PullRequest
       16

Symfony: csDoctrineActAsSortablePlugin и i18n

0 голосов
/ 17 октября 2011

[первоначально размещено на форуме Symfony , но (правильный) ответ пока не дан].

Кому-нибудь когда-нибудь удавалось установить поведение Sortable с помощью csDoctrineActAsSortablePlugin для любой модели, имеющей поля i18n? Все установлено нормально, но при попытке учить: при загрузке данных файл фикстур для модели i18n он вылетает из-за нарушения ограничения целостности MySQL из-за ввода дублированного ключа. Требуется ли специальная обработка для моделей i18n?

Моя версия плагина 1.5.4.1 установлена ​​на Symfony 1.4.8.

Кроме этого, знаете ли вы какие-либо другие решения (плагины) для добавления функциональности "moveup" и "Moveown" в генератор администраторов?

Ответы [ 2 ]

3 голосов
/ 09 октября 2012

Я создал специальную версию класса sfDoctrineBuildTask, которая решает эту проблему:

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

0 голосов
/ 29 октября 2011

Я нашел лучший обходной путь, чем тот, который первоначально был опубликован на форуме Symfony.

  1. В вашем schema.yml комментируйте поведение Sortable для всех ваших моделей и поместите вместо него эквивалентный столбец position (это фактический столбец, который будет создан плагином в базе данных для указанная модель) со следующими свойствами:

    position: { type: integer, notnull: false }
    
  2. Выполнить symfony doctrine:build --all --and-load --no-confirmation. Это позволит правильно вставить все данные в базу данных.

  3. Восстановите schema.yml и запустите symfony doctrine:build --all-classes --model --forms --filters. Это восстановит поведение Sortable в ваших моделях без ущерба для ваших данных.

...