我使用带有 Propel 的 Symfony 1.4。我删除了一个表(名称:company_show_field),也从数据库和 schema.yml 中删除。然后我添加了一个名为 Agency_company 的新表(它也存在于 DB 中)。所以我现在有这个:
公司: _attributes: { phpName: EdimaCompany } id: { type: INTEGER, size: '11', autoIncrement: true, required: true } 名称:{类型:VARCHAR,大小:'100',必需:真} ... 代理公司: _attributes: { phpName: EdimaAgencyCompany } _propel_behaviors: 交响乐: 形式:假 过滤器:假 agent_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 推进:构建模型 symfony 推进:构建形式
但 BaseEdimaCompanyForm 类抛出异常:“调用未定义的方法 BaseEdimaCompany::getEdimaCompanyShowFields”。我从这个文件中删除了一些行(为了测试生成是创建一个新文件),并再次重新生成模型/表单,但 symfony 再次生成了错误代码。
我确定这个表(company_show_fields)在模式和数据库中不存在。而且我在这个表单类(agency_company)中看不到新表。
有人可以帮我吗?为什么会这样?symfony 哪里可以得到表名,什么不存在?
PS:对不起我的英语,这不是我的母语。