Laravel

Eloquent ORM Grundlagen

Models, CRUD-Operationen, Query Builder, Mass Assignment, Timestamps, Soft Deletes, Accessors, Mutators

22 Interview-Fragen·
Junior
1

Welche Namenskonvention verwendet Eloquent standardmäßig, um den Tabellennamen aus dem Modellnamen abzuleiten?

Antwort

Eloquent verwendet das pluralisierte snake_case des Klassennamens, um den Tabellennamen abzuleiten. Zum Beispiel entspricht das User-Modell der Tabelle users und BlogPost entspricht blog_posts. Diese Konvention kann durch Definition der $table-Eigenschaft im Modell überschrieben werden.

2

Welche Eloquent-Methode ermöglicht das Erstellen UND Speichern eines neuen Modells in einem einzigen Vorgang?

Antwort

Die Methode create() ermöglicht das Erstellen und Speichern eines Modells in einem einzigen Vorgang, indem sie ein Array von Attributen akzeptiert. Sie erfordert, dass die Attribute in der $fillable-Eigenschaft aufgeführt sind oder $guarded definiert ist, um sich vor Mass Assignment zu schützen. Im Gegensatz zu new Model() gefolgt von save() kombiniert create() diese beiden Schritte.

3

Was passiert, wenn versucht wird, ein Attribut per Mass Assignment zuzuweisen, das nicht in $fillable enthalten ist?

Antwort

Laravel wirft eine MassAssignmentException, um vor Mass-Assignment-Schwachstellen zu schützen. Dieser Schutz verhindert, dass böswillige Benutzer unautorisierte Attribute über HTTP-Anfragen einschleusen. Sie müssen das Attribut entweder zu $fillable hinzufügen, $guarded verwenden, um nur bestimmte Attribute zu schützen, oder forceFill() verwenden, um den Schutz zu umgehen.

4

Was ist der Unterschied zwischen den Methoden find() und findOrFail() in Eloquent?

5

Wie verarbeitet Eloquent die Spalten created_at und updated_at automatisch?

+19 Interview-Fragen

Meistere Laravel für dein nächstes Interview

Zugang zu allen Fragen, Flashcards, technischen Tests, Code-Review-Übungen und Interview-Simulatoren.

Kostenlos starten