Laravel

Eloquent ORM-basis

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

22 gespreksvragen·
Junior
1

Welke naamgevingsconventie gebruikt Eloquent standaard om de tabelnaam af te leiden uit de modelnaam?

Antwoord

Eloquent gebruikt het meervoudige snake_case van de klassenaam om de tabelnaam af te leiden. Zo komt het User-model overeen met de tabel users en BlogPost met blog_posts. Deze conventie kan worden overschreven door de eigenschap $table in het model te definiëren.

2

Welke Eloquent-methode maakt het mogelijk om een nieuw model in één operatie te maken EN op te slaan?

Antwoord

De methode create() maakt het mogelijk om een model in één operatie te maken en op te slaan door een array van attributen te accepteren. Het vereist dat de attributen worden vermeld in de eigenschap $fillable of dat $guarded wordt gedefinieerd ter bescherming tegen mass assignment. Anders dan new Model() gevolgd door save(), combineert create() deze twee stappen.

3

Wat gebeurt er als je een attribuut probeert toe te wijzen via mass assignment dat niet in $fillable staat?

Antwoord

Laravel werpt een MassAssignmentException om te beschermen tegen mass-assignment-kwetsbaarheden. Deze bescherming voorkomt dat kwaadwillende gebruikers ongeautoriseerde attributen injecteren via HTTP-verzoeken. Je moet het attribuut aan $fillable toevoegen, $guarded gebruiken om slechts bepaalde attributen te beschermen, of forceFill() gebruiken om de bescherming te omzeilen.

4

Wat is het verschil tussen de methoden find() en findOrFail() in Eloquent?

5

Hoe verwerkt Eloquent de kolommen created_at en updated_at automatisch?

+19 gespreksvragen

Beheers Laravel voor je volgende gesprek

Krijg toegang tot alle vragen, flashcards, technische tests, code review-oefeningen en gespreksimulatoren.

Begin gratis