繁体   English   中英

$ this->发现在cakePHP中不起作用

[英]$this->find not working in cakePHP

我有一个名称为Deal class Deal extends AppModel

现在,在控制器中,我在Deal模型中调用了一个名为getDeal()的方法。

$ dealInfo = Deal :: getDeal($ dealID);

我希望信息返回给我,但var_dump显示为空白

function getDeal($dealID){

    $deal = $this->Deal->find('first', array(
                            'conditions' => 
                                'Deal.id' =>$dealID

                            ) ,
                            'fields' => array(
                                'Deal.id'
                            ) ,

                            'recursive' => 1,

                            ));
}

这是我第一次使用cakePHP,因此这个问题听起来可能有些愚蠢

当您仅使用id作为查找条件时,可以使用CakePHP的动态查找器方法。

动态查找器的工作原理是这样的。

$this->Model->findByModelFieldName();

在您的示例中

$this->findById($dealId, array(
    'fields' => array('Deal.id'),
    'recursive' => 1
));

我不知道我是否只是在头脑,这仅仅是因为您没有从getDeal()返回任何内容吗?

尝试添加return $deal; 看看是否有帮助。 您的问题并未明确说明您在哪里进行var_dump因此我可能会过得很好。

编辑:

根据与您和8vius的讨论,我们已经确定这是不对的,您只需要将$this->Deal->find()更改$this->find()因为它是从模型。

检查您的函数声明, $deal_id不存在,并且如您从参数中看到的那样,您将传递给应该$deal_id而不是dealID 因此,您有一个错误声明的函数,该函数使用不存在的变量调用find。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM