#cakephp #cakephp-1.3 #cakephp-1.2
#cakephp #cakephp-1.3 #cakephp-1.2
Вопрос:
Я пишу приведенный ниже код в beforeFilter в aap_controller.
$this->query('delete * from suggest_debate_tags where suggest_debate_id = 0');
Ошибка:
Call to undefined method UsersController::query()
Ответ №1:
Класс AppController расширяет класс контроллера, который является базовым для контроллеров. query
является частью модели, поэтому $this->query()
не будет работать. Вам нужно поместить вызов query() в модель и вызвать модель из вашего AppController.
Ответ №2:
Наконец-то я получил решение
Я пишу приведенный ниже код в 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');
Все работает нормально.
Комментарии:
1. По сути, вы очищаете
suggest_debat_tags
таблицу каждый раз, когда поступает запрос . Вы уверены, что хотите это сделать?