Я использую Symfony 1.4 с Propel. Я удалил таблицу (имя: company_show_field), также удалил из базы данных и schema.yml. Затем я добавил новую таблицу с именем agency_company (она тоже существует в БД). Итак, теперь у меня есть это:
company: _attributes: { phpName: EdimaCompany } id: { type: INTEGER, size: '11', autoIncrement: true, required: true } name: { type: VARCHAR, size: '100', required: true } ... agency_company: _attributes: { phpName: EdimaAgencyCompany } _propel_behaviors: symfony: form: false filter: false agency_id: { type: INTEGER, size: '11', required: true, primaryKey: true, foreignTable: company, foreignReference: id, onDelete: CASCADE } company_id: { type: INTEGER, size: '11', required: true, primaryKey: true, foreignTable: company, foreignReference: id, onDelete: CASCADE }
Тогда я сделал:
symfony cc symfony propel:build-model symfony propel:build-forms
но класс BaseEdimaCompanyForm выдает исключение: «Вызов неопределенного метода BaseEdimaCompany :: getEdimaCompanyShowFields». Я удалил несколько строк из этого файла (чтобы проверить генерацию, создайте новый файл) и заново сгенерировал модели / формы, но symfony снова сгенерировала плохой код.
Я уверен, что этой таблицы (company_show_fields) нет в схеме и в БД. И я не вижу новой таблицы в этом классе формы (agency_company).
Кто-нибудь может мне помочь? Почему так случилось? Где Symfony может получить имя таблицы, а чего нет?
PS: извините за мой английский, это не мой родной язык.