Администратор Symfony Doctrine и I18n: ошибка, когда кеш пуст - PullRequest
4 голосов
/ 21 февраля 2012

У меня странная ошибка в административном модуле, созданном генератором администратора: моя модель имеет следующую схему:

StmtcHelp:
  columns:
    module: { type: string(255) }
    action: { type: string(255) }
    content: { type: string(10000) }
    translated: { type: boolean, notnull: true, default: false }
  actAs:
    Timestampable: ~
    I18n:
      fields: [content, translated]

Мой generator.yml:

generator:
  class: sfDoctrineGenerator
  param:
    model_class:           stmtcHelp
    theme:                 admin
    non_verbose_templates: true
    with_show:             false
    singular:              ~
    plural:                ~
    route_prefix:          stmtc_help
    with_doctrine_route:   true
    actions_base_class:    sfActions

    config:
      actions:
        _delete:
          credentials: [is_super_admin]
        _new:
          credentials: [is_super_admin]
        _create:
          credentials: [is_super_admin]
      fields:  ~
      list:
        title: Inline Help
        display: [ module, action, updated_at ]
      filter:
        display: [ module, action ]
      form:    ~
      edit:    ~
      new:     ~

Теперь яочистить кеш и загрузить действие stmtc_help / index, я получаю эту ошибку:

SQLSTATE[42S22]: Column not found: 1054 Unknown column 's.content' in 'field list'. 
Failing Query: "SELECT s.id AS s__id, s.module AS s__module, s.action AS s__action, 
s.content AS s__content, s.translated AS s__translated, s.created_at AS s__created_at, 
s.updated_at AS s__updated_at FROM stmtc_help s LIMIT 20"

Кажется, что Doctrine не распознает мою модель как I18n.

Но если я перезагрузлю страницу, ошибка исчезнет, ​​все отлично работает.

У кого-нибудь была такая проблема?Что мне не хватает?Спасибо за любую помощь!

1 Ответ

2 голосов
/ 07 марта 2012

У меня была точно такая же проблема.
Ваш параметр model_class в generator.yml установлен на stmtcHelp, но название вашей модели - StmtcHelp (первая буква заглавная). Исправьте это и проверьте routing.yml на ту же проблему.
В моем случае моя модель была написана с ошибкой только в routing.yml, и это вызвало ту же ошибку Column not found.

...