2011-09-01 57 views
0

工作,我有一个名为新政class Deal extends AppModel

的模型现在在我的控制我()称为getDeal交易模型

$ dealInfo调用一个方法=新政: :getDeal($ dealID);

我想要的信息返回给我,但后续代码var_dump显示空白

function getDeal($dealID){ 

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

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

          'recursive' => 1, 

          )); 
} 

这是我第一次在CakePHP的工作,所以这个问题听起来有点哑

回答

0

检查功能声明,$deal_id不存在,你可以从参数中看到你传递给我的函数$deal_id而不是dealID。所以你有一个misdeclared函数调用查找与不存在的变量。

+0

我在交易模型调用这个,所以它应该是这样$这个 - > Deal->找到 – Roland

+0

允许我编辑我的答案 – 8vius

+0

这是一个错字,仍然是正确的,仍然没有任何反应 – Roland

1

我不知道我是否只是精神病,但这是因为你没有从getDeal()返回任何东西?

尝试添加return $deal;,看看是否有帮助。你的问题并没有说明你在做什么var_dump,所以我可能会过得很好。

编辑:

按照与您8vius的讨论中,我们已经建立了,这是不对的,你只需要改变$this->Deal->find()$this->find(),因为它正在从模型上运行。

+1

根本原因是我没有将交易包括在$用途中在控制器的顶部 – Roland

2

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

动态查找工作是这样的。

$this->Model->findByModelFieldName(); 

在您的例子这将是

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

太棒了,我会做一个笔记,这可能是有用的 – Roland

+0

哎呀,搞砸了我的例子。现在更新它。 –