Cakephp:为什么删除自定义查询在app_controller中不起作用?

时间:2011-11-04 06:22:17

标签: cakephp cakephp-1.3 cakephp-1.2

我在aap_controller中的beforeFilter中编写了以下代码。

$this->query('delete * from suggest_debate_tags where suggest_debate_id = 0');

错误:

Call to undefined method UsersController::query()

2 个答案:

答案 0 :(得分:1)

AppController类扩展了Controller类,它是Controllers的基础。 query是模型的一部分,因此$this->query()无效。您需要将query()调用放在模型中并从AppController调用模型。

答案 1 :(得分:0)

最后我得到了解决方案

我在aap_controller中的beforeFilter中编写了以下代码。

App::import('Model','SuggestDebateTag');

$cnt_tag_arr = $this->SuggestDebateTag->find('count',array ( "SuggestDebateTag.suggest_debate_id" => 0));

if($cnt_tag_arr > 0)
{

        $conditions = array ( "SuggestDebateTag.suggest_debate_id" => 0);
        $this->SuggestDebateTag->deleteAll($conditions);

}

我在users_controller.php中写下代码

var $uses = array('SuggestDebateTag');

工作正常。