Laravel

Fundamentos de Eloquent ORM

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

22 preguntas de entrevista·
Junior
1

¿Qué convención de nomenclatura usa Eloquent por defecto para deducir el nombre de la tabla a partir del nombre del modelo?

Respuesta

Eloquent usa el snake_case plural del nombre de clase para deducir el nombre de la tabla. Por ejemplo, el modelo User corresponde a la tabla users, y BlogPost corresponde a blog_posts. Esta convención puede sobrescribirse definiendo la propiedad $table en el modelo.

2

¿Qué método de Eloquent permite crear Y guardar un nuevo modelo en una sola operación?

Respuesta

El método create() permite crear y guardar un modelo en una sola operación al aceptar un array de atributos. Requiere que los atributos estén listados en la propiedad $fillable o que $guarded esté definido para protegerse contra el mass assignment. A diferencia de new Model() seguido de save(), create() combina estos dos pasos.

3

¿Qué sucede si se intenta hacer mass assignment de un atributo que no está en $fillable?

Respuesta

Laravel lanza una excepción MassAssignmentException para protegerse contra vulnerabilidades de mass assignment. Esta protección impide que usuarios malintencionados inyecten atributos no autorizados mediante peticiones HTTP. Debes agregar el atributo a $fillable, usar $guarded para proteger solo ciertos atributos, o usar forceFill() para omitir la protección.

4

¿Cuál es la diferencia entre los métodos find() y findOrFail() en Eloquent?

5

¿Cómo gestiona Eloquent automáticamente las columnas created_at y updated_at?

+19 preguntas de entrevista

Domina Laravel para tu próxima entrevista

Accede a todas las preguntas, flashcards, tests técnicos, ejercicios de code review y simuladores de entrevista.

Empieza gratis