Cakephp 如何使用带有$fields可选参数的findBy magic find函数?

Cakephp 如何使用带有$fields可选参数的findBy magic find函数?,cakephp,cakephp-1.3,Cakephp,Cakephp 1.3,目前正在考虑在模型上使用magicfindBy函数,在尝试为函数设置可选参数时遇到问题。这是我试过的 $result = $this->findById($id['Alpha.name']); 因此,为了解释,我试图找到一个具有特定id的记录,并且只返回name字段的值。根据文档,有一种方法可以做到这一点 findBy magic函数还接受一些可选参数: findBy(字符串$value[,混合$fields[,混合$order]] 当我用($id)查找一个简单的时,我会得到一个结果集

目前正在考虑在模型上使用magic
findBy
函数,在尝试为函数设置可选参数时遇到问题。这是我试过的

$result = $this->findById($id['Alpha.name']);
因此,为了解释,我试图找到一个具有特定
id
的记录,并且只返回
name
字段的值。根据文档,有一种方法可以做到这一点

findBy magic函数还接受一些可选参数:
findBy(字符串$value[,混合$fields[,混合$order]]

当我用($id)
查找一个简单的
时,我会得到一个结果集。但是有了参数,我什么也得不到。我知道还有其他方法可以做到这一点,但我只是好奇是否有人成功地使用了这些带有附加参数的神奇函数?

试试这个:

$result = $this->findById($id, array('Alpha.name'));

其中,
$id
是您正在搜索的记录的id,
Alpha.name
是您需要的字段(例如,
name
来自model
Alpha

这是有效的。我相信这个答案,因为问题在于语法(即我使用了错误的语法)。但是,我发现如果模型具有
多个
关系,那么这些关系将被返回。此模型具有
hasOne
关系,但未返回这些关系。它没有任何属于
关系的
,因此我不知道这些关系是否会被返回。@generalopine尝试设置
$this->Alpha->recursive=1
,以获取具有相关模型的模型,例如
Alpha
以及来自
hasOne
model
Beta
Sweet的相应数据。我假设执行
$this->Alpha->recursive=-1
将只返回没有任何关系的模型?