CakePHP finderQuery是否可以与SQL Server一起使用?我在哪里调试?

Cru*_*han 6 sql-server cakephp

我是CakePHP的新手,所以我可能会错过这个明显的问题.

系统使用Microsoft SQL Server 2005作为数据库运行最新下载.我很欣赏这有点不寻常,但修复了URL重写我没有看到其他问题.

我想使用自定义finderQuery,但我似乎无法取代默认值.特别是如果我使用

    var $hasMany = array(
        'RecyclateTypeConversion' => array(
        'className' => 'RecyclateTypeConversion',
        'foreignKey' => 'recyclate_type_id',
        'dependent' => false,
        'conditions' => '',
        'fields' => '',
        'order' => '',
        'limit' => '',
        'offset' => '',
        'exclusive' => '',
        'finderQuery' => 'select RecyclateTypeConversion.* from recyclate_type_conversions AS RecyclateTypeConversion WHERE RecyclateTypeConversion.recyclate_type_id IN ({$__cakeID__$});',
        'counterQuery' => ''
    ),
     };
Run Code Online (Sandbox Code Playgroud)

我看到了这个错误

注意(8):未定义的索引:RecyclateTypeConversion [CORE\cake\libs\model\datasources\dbo_source.php,第1099行]

但是,SQL调试输出确认查询本身运行正常并返回4条记录,并且在未指定finderQuery时视图运行完美.我也尝试过其他hasMany表 - 完全相同的问题.

我试图用特定的字段选择替换select all,但我仍然看到相同的结果.当然根据手册查询看起来是正确的 - 那么问题是什么(可能与使用MSSQL有关吗?)

编辑:另外,由于尚未找到任何答案,调试此问题的最佳方法是什么?我已经开始寻找蛋糕调试课程了,但到目前为止还没有结果让我开心.当然如果有问题,我会将修复程序提交回项目.

vin*_*dia 2

您是否检查过确实存在一个名为的模型,RecyclateTypeConversion并且它的文件名符合 CakePHP 约定?即该文件中是否存在models/recyclate_type_conversion.php定义为 的模型名称RecyclateTypeConversion

您收到的错误似乎暗示该模型名称有问题,因为它找不到关联的索引。