Eloquent - це ORM (object-relational mapping) Laravel, реалізація патерну Active Record. Кожній таблиці відповідає модель (зазвичай у app/Models), рядок таблиці - це екземпляр моделі, а робота з даними виглядає як робота зі звичайними PHP-об'єктами замість написання SQL.
Створити модель (за конвенцією однина: Post → таблиця posts):
php artisan make:model Post -mf # одразу з міграцією та фабрикою
Базові операції (CRUD):
$post = Post::create(['title' => 'Привіт']); // create
$post = Post::find(1); // read
$post->update(['title' => 'Оновлено']); // update
$post->delete(); // delete
Post::where('is_published', true)->latest()->get();
Що дає Eloquent понад Query Builder:
- Зв'язки -
hasOne,hasMany,belongsTo,belongsToMany, поліморфні. - Аксесори/мутатори та касти атрибутів (наприклад, дати, enum, JSON).
- Події моделі та обзервери (
creating,saved,deleted). - Scopes для перевикористання умов запитів.
Eloquent побудований поверх Query Builder, тож ті самі методи (where, orderBy, join) доступні і на моделях.