Привет есть "модель" в ней метод "remove($a, $b = 0)" и контроллер в нем "метод1" и "метод2", не могу понять почему когда обращаюсь к "remove" от "метод1" то все работает как часы пример
$this->MyModel->remove($array, $cause);
, а когда от "метод2", то cakephp пишет ошибку
$this->MyModel->remove($id, $cause);
"Cake/Model/Datasource/DboSource.php (line 523) 'SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'remove' at line 1' /Cake/Model/Datasource/DboSource.php (line 524) 'remove'"
в логах "Error: [PDOException] SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'remove' at line 1"
метод в модели
public function remove($ids, $cause = 0){
if(!$ids){
return false;
}
if(is_array($ids)){
$ids = implode(',', $ids);
$remove = "UPDATE mymodels SET cause_close = '". $cause. "', in_archive = '1' WHERE id in ({$ids})";
$this->query($remove);
}else{
$data = [
'MyModel' => [
'id' => $ids,
'in_archive' => 1,
'cause_close' => $cause
]
];
$this->save($data, ['callbacks' => false, 'validate' => false]);
}
return true;
}
Я пробовал оставлять метод в модели пустым
public function remove($ids, $cause = 0){
//закомментированный код
}
ошибка все равно такая же
Так же я пробовал вызывать метод remove из метод2 вот так
$this->loadModel('Mymodel')->remove($id, $cause);
тогда ошибка такая: Call to a member function remove() on boolean
метод1 работает для списка, т.е. пользователь выбирает несколько элементов и вызывает его, метод2 работает для отдельной страницы с разницей, при вызове метода всплывает popup с выбором причины. оба POST
Знаете кого-то, кто может ответить? Поделитесь ссылкой на этот вопрос по почте, через Твиттер или Facebook.
Начните задавать вопросы и получать на них ответы
Найдите ответ на свой вопрос, задав его.
Задать вопрос
$this->MyModel->query('UPDATE ..........');$remove