好的,所以现在这真的让我很困惑,因为我之前有过这个工作,并且发生了一些变化,导致我的计算属性不起作用。
我有一个在“链接”模型上执行 findAll() 的“页面”控制器。这很好用,除非我尝试包含一个计算属性(它曾经工作)。
page.cfc(控制器)
<cfset linkListHottest = model("link").findAll(
select="
links.linkID,
linkTitle,
linkPoints,
linkAuthority,
linkCreated,
<!--- Here I specifiy the 'property' names from the model --->
linkUpVoteCount,
linkDownVoteCount,
linkCommentCount,
users.userID,
userName,
categories.categoryID,
categoryTitle,
categoryToken",
include="user,category",
order="linkPoints DESC",
handle="linkListHottestPaging",
page=params.page,
perPage=5
) />
链接.cfc(模型)
<cffunction name="init">
<cfset table("links") />
<!--- These three lines aren't populating my queries on the link model --->
<cfset property(name="linkUpVoteCount", sql="(SELECT COUNT(*) FROM votes WHERE votes.linkID = links.linkID AND voteType = 1)") />
<cfset property(name="linkDownVoteCount", sql="(SELECT COUNT(*) FROM votes WHERE votes.linkID = links.linkID AND voteType = 0)") />
<cfset property(name="linkCommentCount", sql="(SELECT COUNT(*) FROM comments WHERE comments.linkID = links.linkID AND commentRemoved = 0)") />
<cfset belongsTo(name="user", modelName="user", joinType="outer", foreignKey="userID") />
<cfset belongsTo(name="category", modelName="category", joinType="outer", foreignKey="categoryID") />
<cfset hasMany(name="vote", modelName="vote", joinType="outer", foreignKey="linkID") />
<cfset hasMany(name="comment", modelName="comment", joinType="outer", foreignKey="linkID") />
<cfset validatesPresenceOf(property='linkTitle') />
<cfset validatesPresenceOf(property='linkURL') />
<cfset validate(property='linkURL', method='isValidURL') />
<cfset validate(property='linkURL', method="validateUniqueUrl", when="onCreate") />
</cffunction>
home.cfm(查看)
#linkListHottest.linkUpVoteCount#
我收到以下错误:
“字段列表”中的未知列“linkUpVoteCount”
好的,我想,让我们从 findAll() 中的 SELECT 中删除列名,看看是否能解决它。没有:
在查询中找不到列 [LINKUPVOTECOUNT],列是 [linkID,linkTitle,linkPoints,linkAuthority,linkCreated,userID,userName,categoryID,categoryTitle,categoryToken]
因此,这似乎是第 22 条问题。就好像我的“链接”模型完全忽略了那里设置的属性。
我会很感激任何关于我哪里出错的反馈(我确定是我!)。
非常感谢,迈克尔。