checklist = model("user_checklist").findAll(include="tb_machine_checklist");
以上是我用于从名为user_checklist的表中获取记录的查询,它与名为tb_machine_checklist的表有关。
现在有一个名为" tb_machine_checklist"的表,但是它给了我一个错误的说法;
The "tb_machine_checklists" table could not be found in the database.
为什么" s"当我没有指定时添加?
答案 0 :(得分:0)
我猜findAll中的include指定了模型名称,而不是表名。车轮ORM在某些情况下复数模型名称并将其映射到表名称。也许你可以明确地在模型中设置模型的表名?
答案 1 :(得分:0)
请务必阅读有关Conventions。
的文档中的章节CFWheels对数据库表和模型文件采用Rails风格的命名约定。将数据库表视为模型对象的集合;因此,它以复数名称命名。将模型对象视为数据库表中单个记录的表示;因此,它以单数词命名。
幸运的是,CFWheels允许您使用一些额外代码覆盖大多数约定。
在tb_machine_checklist
模型的init
方法中,添加以下代码行:
<cffunction name="init">
<cfset table("tb_machine_checklist")>
</cffunction>
然后CFWheels为您写的任何查询将使用您的单数表名称而不是传统的复数名称。
答案 2 :(得分:0)
我解决了这个问题,我的模型与我的数据库表名称不同。一旦做得好,这个问题就消失了。