CakePHP - 在非对象上调用成员函数search()

时间:2013-08-18 09:54:31

标签: php cakephp controller cakephp-2.0

我在cakephp安装中创建了一个NamesController.php并创建了一个搜索功能:

public function search($api_key = null,$domain = null,$keywords = null,$country = null,$type = null) {
        $result = $this->Mails->search($keywords,$country,$type);
        return $result;
}

但这会给我一个错误:

 Call to a member function search() on a non-object 

ps:MailsController.php还包含一个搜索功能,效果很好。

为什么这会让我误解这个错误?我究竟做错了什么?

提前谢谢你!

2 个答案:

答案 0 :(得分:0)

如果您正在执行$this->Mails->search,则搜索功能应位于邮件模型而不是控制器中。如果要从Mails控制器访问Names控制器的功能,请执行以下操作:

//names controller
App::import('Controller', 'Mails');
class NamesController extends AppController {
....
public function search($api_key = null,$domain = null,$keywords = null,$country = null,$type = null) {
    $mails = new MailsController();
    $result = $mails->search($keywords,$country,$type);
    return $result;
}

答案 1 :(得分:0)

您的结果是正确的,因为您没有声明此变量。