Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/jenkins/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
CFWheels:Model FindAll()在相关表名中附加字母“s”_Cfwheels - Fatal编程技术网

CFWheels:Model FindAll()在相关表名中附加字母“s”

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

上面是我用来从名为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 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>