我在aap_controller的beforeFilter中寫下面的代碼。Cakephp:爲什麼刪除自定義查詢不適用於app_controller?
$this->query('delete * from suggest_debate_tags where suggest_debate_id = 0');
錯誤:
Call to undefined method UsersController::query()
我在aap_controller的beforeFilter中寫下面的代碼。Cakephp:爲什麼刪除自定義查詢不適用於app_controller?
$this->query('delete * from suggest_debate_tags where suggest_debate_id = 0');
錯誤:
Call to undefined method UsersController::query()
的AppController類擴展控制器類,這是爲控制器的基礎。 query
是模型的一部分,因此$this->query()
將不起作用。您需要將query()調用放入模型中,並從您的AppController調用模型。
最後我得到的解決方案
我下面寫的代碼在beforeFilter在aap_controller。
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_debat_tags'表*。你確定要這麼做嗎? – JohnP
非常感謝.............. – chetanspeed511987