sql-server - CakePHP finderQuery 是否可以与 SQL Server 一起使用?我应该在哪里调试它?

标签 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' => ''
    ),
     };

我看到这个错误

Notice (8): Undefined index: RecyclateTypeConversion [CORE\cake\libs\model\datasources\dbo_source.php, line 1099]

然而,SQL 调试输出确认查询本身运行良好并返回 4 条记录,并且在未指定 finderQuery 时 View 运行完美。我也尝试过其他 hasMany 表 - 具有完全相同的问题。

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

编辑:此外,由于尚未找到任何答案,因此调试此问题的最佳方法是什么?我已经开始寻找蛋糕调试类(class),但到目前为止还没有启发我的结果。当然,如果出现问题,我会将修复程序提交回项目。

最佳答案

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

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

关于sql-server - CakePHP finderQuery 是否可以与 SQL Server 一起使用?我应该在哪里调试它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6128630/

相关文章:

c# - 如何为现有数据库定义数据库项目

html - 如何在 cakePhP 站点中拥有纯 HTML(来自 index.html)目录?

php - 我应该如何设置我的开发环境以将代码滚动到实时网站中?

cakephp - 如何在CAKEPHP中访问GET请求?

php - CakePHP 3 - 使用可重用验证器

cakephp - 如何控制 CakePHP 表单中错误消息 div 的显示位置?

sql - SQL Server 查询的最大大小? IN 子句?有更好的方法吗

sql - 如何在Sql服务器中将十六进制转换为字符串

c# - 使用 C# 执行 SSIS 包时出错

sql-server - 新手 : How to execute MyData. edmx.sql