Avatar ·

Vérification de l'existence d'un enregistrement dans Laravel : bonnes pratiques et erreurs courantes

Bonjour à tous ! Je suis débutant en Laravel et PHP, j'écris mon premier projet — un simple blog. J'ai un modèle Post et une table posts. Avant d'ajouter un nouveau post, je dois vérifier si un enregistrement avec le même titre (slug) existe déjà. J'ai essayé plusieurs options, mais j'ai l'impression de faire quelque chose de travers.

Voici mon code actuel dans le contrôleur :

public function store(Request $request)
{
    $slug = $request->input('slug');
    $existing = DB::table('posts')->where('slug', $slug)->get();
    if (count($existing) > 0) {
        return back()->with('error', 'Un tel slug existe déjà');
    }
    // ... sauvegarde
}

Mais j'ai lu qu'utiliser count() et get() pour cela n'est pas efficace, surtout si la table est grande. J'ai aussi vu que certains utilisent first(), exists() ou doesntExist(). Et il y a aussi la méthode find() pour vérifier par ID.