Mysql 两个类似的CakePHP数据检索查询-我遗漏了什么?

Mysql 两个类似的CakePHP数据检索查询-我遗漏了什么?,mysql,cakephp,Mysql,Cakephp,当这个查询在我身上失败时,我感到困惑: $results = $this->Event->find('first', array('conditions'=>array( 'user_id' => $user_id, 'home_num' => $num ))); var_dump($user_id, $num, $results); die; 哪些产出: string(4) "5166" string(5) "12931" bool(false)

当这个查询在我身上失败时,我感到困惑:

$results = $this->Event->find('first', array('conditions'=>array(
    'user_id' => $user_id,
    'home_num' => $num
)));
var_dump($user_id, $num, $results); die;
哪些产出:

string(4) "5166" string(5) "12931" bool(false)
将其更改为:

$results = $this->Event->find('list', array('conditions'=>array(
    'user_id' => $user_id,
    'home_num' => $num
)));
var_dump($user_id, $num, $results); die;
给出:

string(4) "5166" string(5) "12931" array(1) { [1569006]=> string(22) "User favourited a home" }
关于如何使用find('first'),我在这里遗漏了什么

编辑以添加:

因此,问题似乎在于不明确的列名。如果我将代码更改为查找Event.user\u id,而不是含糊不清的user\u id,则不再存在问题


不过,我想这里还有一个问题,那就是为什么“列表”不会被一个模棱两可的列名扼杀,因为“第一”或“所有”都在火焰中死去?与此相关的是一种更简单的查询,不需要处理相关的表,我希望…

下面的结果是什么

$results = $this->Event->find('all', array('conditions'=>array(
    'user_id' => $user_id,
    'home_num' => $num
)));
我唯一的猜测是它没有找到任何结果,这就是它返回false的原因


至于为什么“列表”给了你一个很好的项目数组,只是一个猜测,但它可能有一个不同的选项集,与它集中在一起,或者它可能忽略了当前存在的选项

为了给这个问题提供一个真实的答案:

问题在于列名不明确。如果我将代码更改为查找Event.user\u id,而不是含糊不清的user\u id,则不再存在问题


如果未来几代的CakePHPers无法找出他们的数据库查询失败的原因,那么在相关表中查找不明确的列名可能会有帮助…

,这也不会产生任何结果。但是我现在有了更多关于这个问题的线索!将相应地编辑问题。。。