我对cfwheels有一些问题(n:m relationsship)
这里是我的数据库架构
rights righthaspath path
-id -------| -id --> -id
-role -->-rightid (FK) | -url
-pathid (FK)------|
我的模特 /Models/Right.cfc
<cffunction name="init">
<cfset hasMany(name="righthaspath",shortcut="path")>
<cfset nestedProperties(associations="righthaspath")>
</cffunction>
/Models/Path.cfc
<cffunction name="init">
<cfset hasMany(name="righthaspath")>
</cffunction>
/Models/Righthaspath.cfc
<cffunction name="init">
<cfset belongsTo("path")>
<cfset belongsTo("right")>
</cffunction>
在我的控制器中
<cfset tmp= model("right").findall(include="righthaspath")>
所以,cfhweels的sql语句是:
SELECT rights.id,rights.Role,righthaspaths.id AS righthaspathid,righthaspaths.pathID,righthaspaths.rightID FROM rights
LEFT OUTER JOIN righthaspaths ON rights.id = righthaspaths.rightID
但我希望在这三个表上使用sql语句
SELECT
*
FROM
rights
INNER JOIN righthaspaths on rights.id=righthaspaths.rightID
INNER JOIN paths on righthaspaths.pathID=paths.id
你帮忙吗?
PS:我不能包括路径,例如
<cfset tmp= model("right").findall(include="righthaspath,path")>
因为我收到了错误
An association named path could not be found on the right model.
答案 0 :(得分:0)
代表上面的Hans Maeier,我会发布他的答案,以便将其标记为已回答,并在stackoverflow上帮助CFWheels社区。 p>
include =“righthaspath(path)”将完成
希望有助于任何人搜索此内容。
谢谢, 迈克尔。