Laravel

Основи Eloquent ORM

Models, операції CRUD, query builder, mass assignment, timestamps, soft deletes, accessors, mutators

22 питань зі співбесід·
Junior
1

Яку угоду іменування Eloquent використовує за замовчуванням, щоб вивести назву таблиці з назви моделі?

Відповідь

Eloquent використовує множинну форму snake_case назви класу для виведення назви таблиці. Наприклад, модель User відповідає таблиці users, а BlogPost відповідає blog_posts. Цю угоду можна перевизначити, визначивши властивість $table у моделі.

2

Який метод Eloquent дозволяє створити ТА зберегти нову модель за одну операцію?

Відповідь

Метод create() дозволяє створити та зберегти модель за одну операцію, приймаючи масив атрибутів. Він вимагає, щоб атрибути були перелічені у властивості $fillable або щоб було визначено $guarded для захисту від mass assignment. На відміну від new Model() з наступним save(), create() поєднує ці два кроки.

3

Що станеться, якщо спробувати виконати mass assignment атрибута, якого немає в $fillable?

Відповідь

Laravel викидає виняток MassAssignmentException для захисту від вразливостей mass assignment. Цей захист не дає зловмисникам впроваджувати несанкціоновані атрибути через HTTP-запити. Потрібно або додати атрибут до $fillable, або використати $guarded для захисту лише певних атрибутів, або використати forceFill() для обходу захисту.

4

Яка різниця між методами find() та findOrFail() в Eloquent?

5

Як Eloquent автоматично обробляє стовпці created_at та updated_at?

+19 питань зі співбесід

Інші теми співбесід Laravel

Опануй Laravel для наступної співбесіди

Отримай доступ до всіх питань, flashcards, технічних тестів, вправ code review та симуляторів співбесід.

Почни безкоштовно