Laravel

Fondamenti di Eloquent ORM

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

22 domande da colloquio·
Junior
1

Quale convenzione di denominazione usa Eloquent per impostazione predefinita per dedurre il nome della tabella dal nome del model?

Risposta

Eloquent usa lo snake_case plurale del nome della classe per dedurre il nome della tabella. Ad esempio, il model User corrisponde alla tabella users e BlogPost corrisponde a blog_posts. Questa convenzione può essere sovrascritta definendo la proprietà $table nel model.

2

Quale metodo di Eloquent consente di creare E salvare un nuovo model in una singola operazione?

Risposta

Il metodo create() consente di creare e salvare un model in una singola operazione accettando un array di attributi. Richiede che gli attributi siano elencati nella proprietà $fillable o che $guarded sia definito per proteggersi dal mass assignment. A differenza di new Model() seguito da save(), create() combina questi due passaggi.

3

Cosa succede se si tenta di eseguire il mass assignment di un attributo che non è in $fillable?

Risposta

Laravel lancia un'eccezione MassAssignmentException per proteggere dalle vulnerabilità di mass assignment. Questa protezione impedisce agli utenti malintenzionati di iniettare attributi non autorizzati tramite richieste HTTP. Devi aggiungere l'attributo a $fillable, usare $guarded per proteggere solo determinati attributi, oppure usare forceFill() per aggirare la protezione.

4

Qual è la differenza tra i metodi find() e findOrFail() in Eloquent?

5

Come gestisce Eloquent automaticamente le colonne created_at e updated_at?

+19 domande da colloquio

Padroneggia Laravel per il tuo prossimo colloquio

Accedi a tutte le domande, flashcards, test tecnici, esercizi di code review e simulatori di colloquio.

Inizia gratis