Я пытаюсь удалить список записей из моей таблицы, соответствующий определенному идентификатору. Я получаю идентификатор и отправляю его через функцию ajax на контроллер и использую функцию удаления модели, чтобы удалить конкретную запись. Но записи не удаляются.
Это моя функция ajax в файле представлений с именем reports.ctp, где я вызываю функцию контроллера при нажатии на ссылку.
$(".delete_entries").click(function() {
$.ajax({
type: "POST",
url: "http://localhost/FormBuilder/reports/deleteEntries",
data: "formid="+formid,
async: false,
success: function(msg){
alert( "Data Saved: " + msg);
}
});//ajax
});
Это действие удаления в reports_controller.php
function deleteEntries()
{
$this->data['Result']['form_id']=$this->params['form']['formid'];
$this->Report->Result->delete($this->data['Result']['form_id']);
}
Таблица, из которой я хочу удалить записи, называется «Результаты». кто-нибудь, помогите мне, как удалить записи.
EDIT
Теперь я использую запрос sql delete как таковой, чтобы удалить записи в таблице результатов.
$this->Result->query("delete from results where form_id=".$this->data['Result']['form_id']);
Я не знаю, почему команда удаления CakePHP не работает.
Но теперь проблема в том, что только когда я обновляю страницу, удаляются записи. Если я не обновлюсь, записи по-прежнему отображаются в таблице.
Возможно, если работает функция удаления CakePHP, страница обновится.
РЕШЕНИЕ
Метод deleteAll работает, так как я не даю первичный идентификатор в качестве ввода для метода удаления, как указала deceze.
$ this-> Result-> deleteAll (массив ('Result.form_id' => $ this-> data ['Result'] ['form_id']));
Что касается проблемы отражения удаления записей, я выполнил $ (". Records) .remove () при успехе, как предложил Xr, поэтому таблица записей удаляется без обновления страницы.