web-dev-qa-db-fra.com

Laravel Soft Delete restore () Error

Le code de suppression logicielle suivant fonctionne bien pour moi:

$post = Post::find($post_id);
$post->delete();

Le champ supprimé_at est mis à jour. Mais cela me donne une erreur:

$post = Post::find($post_id);
$post->restore();

Voici l'erreur:

exception 'Symfony\Component\Debug\Exception\FatalErrorException' with message 'Call to a member function restore() on a non-object'

Je suis perplexe. Google n'a pour l'instant aucune aide.

23
sterfry68

L'erreur indique que $post Est un non-objet, Laravel ne renvoie pas les enregistrements mis à la corbeille sans withTrashed()

Post::withTrashed()->find($post_id)->restore();

Laravel Docs - Suppression logicielle

Lors de l'interrogation d'un modèle qui utilise des suppressions logicielles, les modèles "supprimés" ne seront pas inclus ...

46
Brian Dillingham