QCMUP.COM

Liste QCM Laravel Corrigé – Partie 4

Entraînez-vous avec des questions corrigées, progressez étape par étape, puis consolidez vos notions grâce aux définitions et explications.

30 questions Réponses expliquées Réviser → Pratiquer
Liste QCM Laravel Corrigé – Partie 4 – Laravel

La gestion des données constitue un aspect central de toute application web moderne, et Laravel propose pour cela un outil particulièrement puissant : Eloquent.

Cet ORM permet de travailler avec une base de données en utilisant une approche orientée objet, beaucoup plus lisible et intuitive que l’écriture directe de requêtes SQL.

Pour les étudiants, les candidats aux examens techniques ou les développeurs en phase de montée en compétence, comprendre le fonctionnement d’Eloquent est indispensable.

Il ne s’agit pas seulement de récupérer ou d’enregistrer des données, mais de structurer proprement la logique d’accès à l’information.

Les notions abordées ici touchent à la manipulation des modèles, à la récupération ciblée des enregistrements, à la sécurité des données et à l’optimisation des performances.

Cette page a été conçue pour accompagner l’apprenant de manière progressive, en posant des bases solides et en donnant une vision claire des mécanismes fondamentaux utilisés au quotidien dans les projets Laravel professionnels.

La gestion des données constitue un aspect central de toute application web moderne, et Laravel propose pour cela un outil particulièrement puissant : Eloquent.

Cet ORM permet de travailler avec une base de données en utilisant une approche orientée objet, beaucoup plus lisible et intuitive que l’écriture directe de requêtes SQL.

Pour les étudiants, les candidats aux examens techniques ou les développeurs en phase de montée en compétence, comprendre le fonctionnement d’Eloquent est indispensable.

Il ne s’agit pas seulement de récupérer ou d’enregistrer des données, mais de structurer proprement la logique d’accès à l’information.

Les notions abordées ici touchent à la manipulation des modèles, à la récupération ciblée des enregistrements, à la sécurité des données et à l’optimisation des performances.

Cette page a été conçue pour accompagner l’apprenant de manière progressive, en posant des bases solides et en donnant une vision claire des mécanismes fondamentaux utilisés au quotidien dans les projets Laravel professionnels.

QCM 1 Corrigé

Que signifie l'acronyme ORM dans le contexte d'Eloquent ?

A. Object-Relational Mapping
B. Optimal Resource Management
C. Object-Reactive Model
D. Operational Relation Method
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : A

Justification :
Un ORM fait le pont entre la programmation orientée objet et les bases de données relationnelles.

QCM 2 Corrigé

Par défaut, quel nom de table Eloquent cherchera-t-il pour un modèle nommé 'Flight' ?

A. Flight_table
B. Flight
C. flights
D. flight_list
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : C

Justification :
Eloquent utilise la forme plurielle en minuscules du nom de la classe comme nom de table par convention.

QCM 3 Corrigé

Quelle méthode permet de récupérer tous les enregistrements d'un modèle ?

A. User::fetchAll()
B. User::all()
C. User::get()
D. User::select('*')
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : B

Justification :
La méthode statique all() retourne une collection de tous les modèles présents dans la table.

QCM 4 Corrigé

Comment récupère-t-on un enregistrement spécifique via sa clé primaire ?

A. User::whereId(1)
B. User::search(1)
C. User::find(1)
D. User::id(1)
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : C

Justification :
La méthode find() accepte la clé primaire en argument et retourne le modèle correspondant.

QCM 5 Corrigé

Quelle méthode lève une exception si aucun enregistrement n'est trouvé avec find() ?

A. findOrFail()
B. findOrError()
C. findWithException()
D. findStrict()
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : A

Justification :
findOrFail() renvoie une erreur 404 automatique si l'ID n'existe pas, simplifiant le contrôle de flux.

QCM 6 Corrigé

Quelle méthode enregistre un nouveau modèle ou ses modifications en base de données ?

A. commit()
B. insert()
C. store()
D. save()
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : D

Justification :
save() est une méthode d'instance qui gère aussi bien l'insertion (nouveau) que la mise à jour (existant).

QCM 7 Corrigé

Quelle propriété d'un modèle définit les colonnes que l'on peut remplir via create() ?

A. $fillable
B. $allowed
C. $guarded
D. $writable
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : A

Justification :
La propriété $fillable protège contre l'assignation de masse en spécifiant les champs autorisés.

QCM 8 Corrigé

Quelle méthode supprime un enregistrement directement via sa clé primaire sans charger le modèle ?

A. User::remove(1)
B. User::destroy(1)
C. User::delete(1)
D. User::drop(1)
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : B

Justification :
destroy() est une méthode statique efficace pour supprimer par ID sans instancier l'objet.

QCM 9 Corrigé

Pour désactiver la gestion automatique des colonnes created_at et updated_at, on utilise :

A. public $dates = false;
B. public $time = false;
C. public $timestamps = false;
D. public $chrono = false;
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : C

Justification :
Mettre $timestamps à false indique à Eloquent de ne pas remplir ces colonnes lors du save().

QCM 10 Corrigé

Quelle méthode permet de filtrer les résultats avec une condition ?

A. where()
B. filter()
C. having()
D. search()
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : A

Justification :
where() est la base du Query Builder pour ajouter des clauses restrictives aux requêtes SQL.

QCM 11 Corrigé

Comment limiter les résultats d'une requête à seulement 10 éléments ?

A. take(10)
B. limit(10)
C. Les deux réponses 1 et 2 sont valides
D. max(10)
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : C

Justification :
Eloquent accepte limit() (SQL standard) et take() (syntaxe fluide Laravel) comme alias.

QCM 12 Corrigé

Comment s'appelle la fonctionnalité permettant de masquer la suppression réelle d'un enregistrement ?

A. Fake Delete
B. Soft Deletes
C. Hidden Trash
D. Undoable Delete
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : B

Justification :
Soft Deletes utilise une colonne deleted_at pour exclure les données des requêtes sans les supprimer du disque.

QCM 13 Corrigé

Quelle méthode permet d'exécuter la requête et de récupérer une collection ?

A. fetch()
B. run()
C. execute()
D. get()
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : D

Justification :
get() finalise la construction de la requête et interroge la base de données.

QCM 14 Corrigé

Quel est le type de retour d'une requête Eloquent retournant plusieurs lignes ?

A. Un tableau PHP
B. Une Collection Laravel
C. Un curseur SQL
D. Un objet JSON
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : B

Justification :
Laravel retourne des objets Collection, offrant des méthodes puissantes pour manipuler les données.

QCM 15 Corrigé

Quelle méthode permet de récupérer uniquement le premier résultat d'une requête ?

A. first()
B. single()
C. one()
D. top()
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : A

Justification :
first() ajoute une limite de 1 et retourne une seule instance de modèle au lieu d'une collection.

QCM 16 Corrigé

Quelle méthode permet d'incrémenter directement une colonne numérique ?

A. add()
B. increment()
C. plus()
D. updateAdd()
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : B

Justification :
increment() est un raccourci efficace pour mettre à jour un compteur sans charger le modèle.

QCM 17 Corrigé

Quelle propriété permet de définir une clé primaire qui n'est pas 'id' ?

A. $key
B. $idName
C. $primaryKey
D. $mainKey
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : C

Justification :
Par défaut Eloquent attend 'id', mais $primaryKey permet de surcharger ce comportement.

QCM 18 Corrigé

Comment trier les résultats par date de création décroissante ?

A. sortBy('created_at')
B. latest()
C. desc()
D. order('newest')
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : B

Justification :
latest() est un raccourci pour orderBy('created_at', 'desc').

QCM 19 Corrigé

Quelle méthode permet de mettre à jour plusieurs enregistrements d'un coup ?

A. User::where('active', 0)->update(['active' => 1]);
B. User::where('active', 0)->change(['active' => 1]);
C. User::where('active', 0)->set(['active' => 1]);
D. User::where('active', 0)->save(['active' => 1]);
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : A

Justification :
La méthode update() sur un Query Builder effectue une requête SQL UPDATE massive.

QCM 20 Corrigé

Laquelle de ces méthodes permet de compter les enregistrements ?

A. size()
B. total()
C. length()
D. count()
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : D

Justification :
count() génère une requête SQL SELECT COUNT(*) pour une performance optimale.

QCM 21 Corrigé

Quelle méthode crée et enregistre un modèle en une seule ligne ?

A. push()
B. new()
C. create()
D. make()
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : C

Justification :
create() instancie le modèle et appelle save() immédiatement, si les champs sont fillable.

QCM 22 Corrigé

Comment vérifier si un enregistrement existe selon certains critères ?

A. check()
B. exists()
C. has()
D. valid()
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : B

Justification :
exists() retourne un booléen en effectuant une requête optimisée.

QCM 23 Corrigé

Quelle méthode permet de charger les relations pour éviter le problème N+1 ?

A. join()
B. attach()
C. with()
D. load()
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : C

Justification :
L'Eager Loading via with() précharge les relations dans une requête séparée.

QCM 24 Corrigé

Quelle propriété permet d'empêcher totalement l'assignation de masse sur tous les champs ?

A. protected $guarded = ['*'];
B. protected $fillable = [];
C. Les deux réponses 1 et 2 sont valides
D. protected $safe = true;
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : C

Justification :
Vider $fillable ou mettre '*' dans $guarded bloque toute insertion de masse.

QCM 25 Corrigé

Quelle méthode permet de récupérer une valeur unique d'une colonne précise ?

A. value('email')
B. pluck('email')
C. only('email')
D. select('email')->first()
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : A

Justification :
value() retourne directement la valeur au lieu d'un objet ou d'une collection.

QCM 26 Corrigé

Comment forcer la suppression d'un modèle utilisant les 'Soft Deletes' ?

A. hardDelete()
B. remove()
C. forceDelete()
D. absoluteDelete()
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : C

Justification :
forceDelete() retire définitivement l'enregistrement de la base de données.

QCM 27 Corrigé

Quelle méthode permet de récupérer les enregistrements par 'morceaux' pour économiser la mémoire ?

A. split()
B. segment()
C. slice()
D. chunk()
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : D

Justification :
chunk() traite les données par petits groupes, idéal pour les gros volumes d'enregistrements.

QCM 28 Corrigé

Comment obtenir le résultat moyen d'une colonne numérique ?

A. average()
B. mean()
C. avg()
D. Les réponses 1 et 3 sont valides
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : D

Justification :
avg() et average() sont des alias pour la fonction SQL d'agrégation AVG.

QCM 29 Corrigé

Quelle méthode permet de trouver un enregistrement ou de le créer s'il n'existe pas ?

A. findOrCreate()
B. firstOrCreate()
C. getOrNew()
D. seekAndStore()
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : B

Justification :
firstOrCreate() cherche une correspondance et procède à l'insertion si nécessaire.

QCM 30 Corrigé

Quelle méthode retourne uniquement une liste de valeurs pour une colonne donnée (ex: tous les emails) ?

A. pluck()
B. list()
C. column()
D. array()
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : A

Justification :
pluck() extrait les valeurs d'une colonne spécifique dans une collection simple.

Mots & Définitions
Consultez les définitions des termes importants.

Un ORM est un outil qui permet de manipuler une base de données en utilisant des objets plutôt que des requêtes SQL brutes. Il facilite le travail du développeur en rapprochant la base de données du langage de programmation.

Eloquent est le système ORM de Laravel. Il permet d’interagir avec les tables de la base de données à travers des modèles clairs et structurés.

Un modèle représente une table de la base de données et la logique associée à ses données. Il sert d’intermédiaire entre l’application et la base de données.

Une collection est un ensemble d’objets retourné par Eloquent après une requête. Elle fournit de nombreuses méthodes pour parcourir, filtrer et transformer les données facilement.

La clé primaire est un identifiant unique utilisé pour reconnaître chaque enregistrement d’une table. Elle permet de retrouver rapidement une donnée précise.

Cette méthode permet de récupérer un enregistrement à partir de sa clé primaire. Elle est couramment utilisée pour accéder à une donnée précise.

Cette méthode récupère un enregistrement ou déclenche une erreur si celui-ci n’existe pas. Elle est utile pour gérer proprement les cas d’absence de données.

Le mass assignment correspond au remplissage automatique de plusieurs champs d’un modèle en une seule opération. Il nécessite une configuration pour éviter les risques de sécurité.

Cette propriété définit les champs qu’il est autorisé à remplir automatiquement. Elle protège l’application contre les modifications non souhaitées.

Les suppressions logiques permettent de marquer un enregistrement comme supprimé sans l’effacer réellement de la base. Cela facilite la restauration des données si nécessaire.

Une requête Eloquent permet de filtrer, trier ou limiter les données issues de la base. Elle s’écrit de manière lisible et progressive.

Cette méthode permet d’appliquer une condition pour filtrer les résultats d’une requête. Elle est essentielle pour cibler des données spécifiques.

Cette méthode permet de créer et d’enregistrer un nouveau modèle en une seule instruction. Elle s’appuie sur la configuration du mass assignment.

Les relations définissent les liens entre plusieurs modèles, comme un utilisateur et ses articles. Elles simplifient l’accès aux données liées.

Le chargement anticipé permet de récupérer les relations en même temps que les données principales. Il améliore les performances en évitant des requêtes répétées.

À propos de ce QCM

Eloquent repose sur le principe de l’ORM, qui consiste à représenter les tables de la base de données sous forme de modèles.

Chaque modèle correspond à une table et permet de manipuler ses données comme des objets.

Cette approche rend le code plus lisible et plus proche du raisonnement métier.

Grâce aux méthodes de récupération, il devient simple d’obtenir un ensemble d’enregistrements, un élément précis ou seulement certaines valeurs utiles à l’application.

La gestion des conditions, du tri et des limites permet d’affiner les résultats sans complexité inutile.

Ces mécanismes sont essentiels pour répondre à des besoins concrets, comme afficher une liste récente, filtrer des données ou optimiser les performances.

Les collections retournées offrent ensuite de nombreuses possibilités de traitement, ce qui renforce la flexibilité du code.

La sécurité est également un point clé avec Eloquent.

Le contrôle de l’assignation de masse protège l’application contre les modifications involontaires ou malveillantes, tandis que les suppressions logiques évitent la perte définitive de données importantes.

Les opérations de création, de mise à jour ou de suppression peuvent ainsi être réalisées de manière fiable et cohérente.

Enfin, la gestion des relations entre modèles et le chargement anticipé permettent de structurer efficacement des données liées tout en évitant les problèmes de performances.

En travaillant ces notions à travers des QCM, l’apprenant développe une compréhension théorique solide, s’entraîne à reconnaître les bons mécanismes et progresse vers une maîtrise concrète d’Eloquent, indispensable pour les examens et les projets réels.

Conclusion

La maîtrise d’Eloquent représente une compétence essentielle pour tout développeur Laravel.

Les concepts abordés permettent de comprendre comment interagir efficacement avec une base de données tout en conservant un code clair et structuré.

En s’exerçant régulièrement, l’apprenant renforce ses automatismes, consolide ses connaissances et gagne en assurance.

Cette progression se traduit par une meilleure capacité à concevoir des applications fiables, sécurisées et performantes.

Ces QCM constituent ainsi un excellent support pour s’entraîner, s’auto-évaluer et préparer sereinement des examens ou des projets professionnels, tout en développant une véritable logique de développeur.