0

任何人都知道如何解决这个问题?

"Unable to invoke CFC - The value returned from the getAllContacts function is not of type Contacts[].

如果将组件名称指定为返回类型,则可能找不到或无法访问该组件的定义文件。”

谢谢你。

[更新]

当然可以:这是 ContactsService.cfc 中的代码:

<cfcomponent output="false">

    <!--- [irrelevant code removed] --->

    <cffunction name="getAllContacts" returntype="Contacts[]" access="remote">
        <cfreturn entityload("Contacts") />
    </cffunction>

    <!--- [irrelevant code removed] --->

     Contacts.cfc 中的代码:

<cfcomponent persistent="true" table="Contacts"  output="false">
    <cfproperty name="id" column="id" type="numeric" ormtype="int" fieldtype="id"  /> 
    <cfproperty name="company" column="company" type="string" ormtype="string"  /> 
    <cfproperty name="Sub_Heading" column="Sub_Heading" type="string" ormtype="string"/> 
    <cfproperty name="Department" column="Department" type="numeric" ormtype="int"  /> 
    <cfproperty name="boss" column="boss" type="string" ormtype="string"  /> 
    <cfproperty name="Room" column="Room" type="string" ormtype="string"  /> 
    <cfproperty name="Phone" column="Phone" type="string" ormtype="string"  />  
</cfcomponent>
4

1 回答 1

1

你没有给我们太多的继续!几乎可以说是“错误消息非常清楚地解释了可能出了什么问题”。如果您发布一些代码,那么我们可以给您一个更好的主意。

但基本上你的方法期望返回一个联系人对象数组,但这不是你想要返回的。

如果您扩展您的问题以包含足够的信息以正确回答,我将更新答案以更彻底......

更新 1 我仍然无法回答你的问题,但我可以在这个答案的基础上再做一点。

在我看来,您的 entityLoad() 实际上并没有找到任何东西。您是否存储了任何联系人?

你可以改变你的方法是这样的:

<cffunction name="getAllContacts" returntype="ANY" access="remote">
    <cfset var allContacts = entityload("Contacts")>
    <cfdump var="#allContacts#">
    <cfreturn allContacts>
</cffunction>

然后调用该方法并查看它的输出。这应该给你一个线索。

[待续...如果您是 StackOverflow 警察,请不要这样做。我知道这还不是一个完整的答案,但是当我们深入了解它时,它将会是。我知道我在做什么]

于 2013-03-30T02:09:56.437 回答