CFWheels:Model FindAll()在相关表名中附加字母“s”
上面是我用来从名为user\u checklist的表中获取记录的查询,它与名为tb\u machine\u checklist的表相关 现在有一个名为tb_machine_checklist的表格,但是它给了我一个错误的说法CFWheels:Model FindAll()在相关表名中附加字母“s”,cfwheels,Cfwheels,上面是我用来从名为user\u checklist的表中获取记录的查询,它与名为tb\u machine\u checklist的表相关 现在有一个名为tb_machine_checklist的表格,但是它给了我一个错误的说法 checklist = model("user_checklist").findAll(include="tb_machine_checklist"); 为什么在我没有指定的情况下添加s 我猜include in findAll指定的是模型名,而不是表名。Wheels
checklist = model("user_checklist").findAll(include="tb_machine_checklist");
为什么在我没有指定的情况下添加s 我猜include in findAll指定的是模型名,而不是表名。Wheels ORM在某些情况下使模型名称复数,并将其映射到表名称。也许您可以在模型中明确设置模型的表名?请务必阅读文档中关于的章节 CFWheels对数据库表和模型文件采用Rails样式的命名约定。将数据库表视为模型对象的集合;因此,它以复数名命名。将模型对象视为数据库表中单个记录的表示形式;因此,它以一个单数词命名 幸运的是,CFWheels允许您用一点额外的代码覆盖大多数约定 在tb_机器_清单模型的init方法中,添加以下代码行:
The "tb_machine_checklists" table could not be found in the database.
然后,CFWheels为您编写的任何查询都将使用单数表名,而不是传统的复数表名。我解决了这个问题,我的模型与数据库表的名称不同。一旦做得好,这个问题就消失了
<cffunction name="init">
<cfset table("tb_machine_checklist")>
</cffunction>