Quelle est la différence entre les méthodes destroy() et delete() dans Laravel?
J'ai un problème mineur avec Laravel 4. Je voudrais utiliser la méthode delete()
sur un enregistrement mais pour une raison quelconque, elle ne supprime pas réellement l'enregistrement. destroy()
fait, cependant, donc mon code est bon. De plus, si je passe Teetime::where('date', '=', $formattedDate)->count()
à ma vue, j'en obtiens un qui est correct. Quel est le problème?
if($action=="delete") {
$teetime = Teetime::where('date', '=', $formattedDate)->firstOrFail();
// for some reason $teetime->delete() doesn't work
Teetime::destroy($teetime->id);
}
32
demandé sur
Rishabh
2014-03-25 12:27:56
1 réponses
-
destroy
est une méthode correcte pour supprimer une entité directement (via un objet ou un modèle).
Exemple:
$teetime = Teetime::where('date', '=', $formattedDate)->firstOrFail();
$teetime->destroy();
-
delete
ne peut être appelé que dans query builder
Exemple:
$teetime = Teetime::where('date', '=', $formattedDate)->delete();
De la documentation:
Suppression D'Un Modèle Existant Par Clé
User::destroy(1);
User::destroy(array(1, 2, 3));
User::destroy(1, 2, 3);
Bien sûr, vous pouvez également exécuter une requête sur un ensemble de modèles:
$affectedRows = User::where('votes', '>', 100)->delete();
Plus d'infos: http://laravel.com/docs/eloquent
51
répondu
phoops
2014-03-25 08:29:35