Cakephp:为什么删除自定义查询在app_控制器中不起作用?
我在aap_控制器中的beforeFilter中编写以下代码Cakephp:为什么删除自定义查询在app_控制器中不起作用?,cakephp,cakephp-1.3,cakephp-1.2,Cakephp,Cakephp 1.3,Cakephp 1.2,我在aap_控制器中的beforeFilter中编写以下代码 $this->query('delete * from suggest_debate_tags where suggest_debate_id = 0'); App::import('Model','SuggestDebateTag'); $cnt_tag_arr = $this->SuggestDebateTag->find('count',array ( "SuggestDebateTag.suggest_d
$this->query('delete * from suggest_debate_tags where suggest_debate_id = 0');
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);
}
错误:
Call to undefined method UsersController::query()
AppController类扩展了控制器类,该类是控制器的基础
query
是模型的一部分,因此$this->query()
将不起作用。您需要将query()调用放入模型中,然后从AppController调用该模型 我终于找到了解决办法
我在aap_控制器中的beforeFilter中编写以下代码
$this->query('delete * from suggest_debate_tags where suggest_debate_id = 0');
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');
它的工作很好。您基本上是在每次收到请求时清除
suggest\u debat\u标签。你确定要这么做吗?