FW / 1 ColdFusion找到0个与提供的参数匹配的方法

时间:2015-09-24 16:33:09

标签: coldfusion coldfusion-9 fw1

您好我在下面收到此错误,但不确定如何解决此错误。

  

详情:

     

没有具有指定方法名称和方法的方法   参数类型或leaseService方法使用参数重载   ColdFusion无法可靠解密的类型。 ColdFusion发现0   与提供的参数匹配的方法。如果这是一个Java对象   并且您验证了该方法存在,请使用javacast函数   减少歧义。

     

消息:

     

找不到leaseService方法。

enter image description here

我在IIS 7上运行的Windows 7上使用fw1 3.1.1和Adobe CF 9。

我的框架 - 一个结构(简化)

控制器
-property.cfc
-lease.cfc

型号/豆类
    -property.cfc
    -lease.cfc

服务
    -property.cfc
    -lease.cfc

查看/属性
    -detail.cfm

在我的财产管理员中,我这样调用租赁清单功能。

property propertyService;
property leaseService;

function detail(rc) {
        rc.property = variables.propertyService.detail(id=rc.id);  
        rc.leases = variables.leaseService().list(propertyID=rc.id);
}

这是我的租赁服务:

component accessors=true {

function init( beanFactory ) {
        variables.beanFactory = beanFactory;
    return this;
}

function list(propertyID) {
        var qData = new query();
        qData.setDatasource(application.dsn); 
        qData.setName("qLease");
        qData.addParam(name="propertyID", value="#rc.propertyID#", CFSQLTYPE="cf_sql_numeric");

        qData.setSQL("
            select l.id, l.fName, l.lName, l.leaseActive, l.leaseFrom, l.leaseTo, CONCAT(u.fname,' ',u.lname) pmName
        from leases l inner join users u on l.pmID = u.id
        where propertyID = :propertyID
        order by LeaseTo DESC
        ");

        qReturn = qData.execute();
        result = qReturn.getResult();

        return result;
}

}

任何建议都会非常感激。

谢谢你!

1 个答案:

答案 0 :(得分:2)

您正在调用leaseService作为方法。这是一个变量。所以不要这样:

rc.property = variables.propertyService.detail(id=rc.id);  
rc.leases = variables.leaseService().list(propertyID=rc.id);

这样做:

rc.property = variables.propertyService.detail(id=rc.id);  
rc.leases = variables.leaseService.list(propertyID=rc.id);

请注意,我删除了()

HTH