J'essaie de supprimer une liste d'entrées de ma table correspondant à un identifiant particulier. Je reçois l'identifiant et l'envoie via une fonction ajax au contrôleur et utilise la fonction Delete du modèle pour supprimer l'entrée particulière. Mais les entrées ne sont pas supprimées.Suppression d'un champ autre que l'ID principal
Ceci est ma fonction ajax dans le fichier de vue appelé reports.ctp où j'appelle la fonction de contrôleur quand un lien est cliqué.
$(".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
});
C'est l'action de suppression dans le reports_controller.php
function deleteEntries()
{
$this->data['Result']['form_id']=$this->params['form']['formid'];
$this->Report->Result->delete($this->data['Result']['form_id']);
}
Le tableau dont je veux supprimer les entrées est « Résultats ». quelqu'un m'aide à supprimer les entrées.
EDIT
Maintenant, je suis en utilisant la requête SQL suppression en tant que telle pour supprimer les entrées de la table des résultats. Je ne sais pas pourquoi la commande delete de CakePHP ne fonctionne pas. Je ne sais pas pourquoi la commande delete de CakePHP ne fonctionne pas.
Mais maintenant le problème est, seulement quand j'actualise la page, la suppression des entrées sont reflétées. Si je ne rafraîchis pas, les entrées sont toujours affichées dans la table. Peut-être que si la fonction de suppression de CakePHP fonctionne, la page sera rafraichie.
SOLUTION
La méthode fonctionne deleteAll puisque je ne suis pas donner l'identifiant primaire comme entrée pour la méthode de suppression comme deceze a souligné. $ This-> Résultat-> deleteAll (array ('Result.form_id' => $ this-> data ['Result'] ['form_id'])); En ce qui concerne le problème de refléter la suppression des entrées, j'ai fait un $ (". Entrées) .remove() sur le succès comme Xr l'avait suggéré, donc la table des entrées est supprimée sans avoir à faire une actualisation de page
Eh bien, j'ai essayé deleteAll hier .. Mais n'a pas été supprimé. Je vais essayer encore une fois. – Angeline
oui, deleteAll fonctionne parfaitement .. Auparavant, j'avais donné en tant que tableau ('conditions' => tableau ('Result.form_id' => $ this-> données ['Result'] ['form_id'])) .. c'est pourquoi il n'a pas supprimé les entrées je suppose .. THank You .. – Angeline