Laravel

Eloquent ORM - Les bases

Models, CRUD operations, query builder, mass assignment, timestamps, soft deletes, accessors, mutators

22 questions d'entretien·
Junior
1

Quelle convention de nommage Eloquent utilise-t-il par défaut pour déduire le nom de la table à partir du nom du modèle ?

Réponse

Eloquent utilise le snake_case pluriel du nom de classe pour déduire le nom de la table. Par exemple, le modèle User correspond à la table users, et BlogPost correspond à blog_posts. Cette convention peut être surchargée en définissant la propriété $table dans le modèle.

2

Quelle méthode Eloquent permet de créer ET sauvegarder un nouveau modèle en une seule opération ?

Réponse

La méthode create() permet de créer et sauvegarder un modèle en une seule opération en acceptant un tableau d'attributs. Elle nécessite que les attributs soient listés dans la propriété $fillable ou que $guarded soit défini pour se protéger contre les mass assignment. Contrairement à new Model() suivi de save(), create() combine ces deux étapes.

3

Que se passe-t-il si on tente d'assigner en masse (mass assignment) un attribut qui n'est pas dans $fillable ?

Réponse

Laravel lève une exception MassAssignmentException pour protéger contre les vulnérabilités de mass assignment. Cette protection empêche les utilisateurs malveillants d'injecter des attributs non autorisés via les requêtes HTTP. Il faut soit ajouter l'attribut à $fillable, utiliser $guarded pour protéger seulement certains attributs, ou utiliser forceFill() pour bypasser la protection.

4

Quelle est la différence entre les méthodes find() et findOrFail() en Eloquent ?

5

Comment Eloquent gère-t-il automatiquement les colonnes created_at et updated_at ?

+19 questions d'entretien

Maîtrise Laravel pour ton prochain entretien

Accède à toutes les questions, flashcards, tests techniques, exercices de code review et simulateurs d'entretien.

Commencer gratuitement