Laravel Eloquent — это ORM (объектно-реляционное сопоставление), которое упрощает операции с базами данных в приложениях Laravel. Он обеспечивает выразительный синтаксис для запросов и манипулирования записями базы данных. В этой статье блога мы рассмотрим различные полезные методы, предоставляемые Laravel Eloquent, а также примеры кода, которые помогут вам освоить этот мощный инструмент.
- Получение записей:
1.1. Методall(): извлекает все записи из таблицы.$users = User::all();1.2. Метод
find($id): извлекает запись по ее первичному ключу.$user = User::find(1);1.3. Метод
where($column, $operator, $value): фильтрует записи по условию.$users = User::where('age', '>', 18)->get(); - Создание записей:
2.1. Методcreate($attributes): вставляет новую запись в таблицу.$user = User::create([ 'name' => 'John Doe', 'email' => 'johndoe@example.com', 'age' => 25 ]); - Обновление записей:
3.1. Методsave(): сохраняет изменения в существующей записи.$user = User::find(1); $user->name = 'Updated Name'; $user->save();3.2. Метод
update($attributes): обновляет несколько записей, соответствующих условию.User::where('age', '>', 30)->update(['status' => 'inactive']); - Удаление записей:
4.1. Методdelete(): удаляет запись.$user = User::find(1); $user->delete();4.2. Метод
destroy($ids): удаляет несколько записей по их первичным ключам.User::destroy([1, 2, 3]); - Отношения:
5.1. Отношения один-к-одному:class User extends Model { public function profile() { return $this->hasOne(Profile::class); } }5.2. Отношение «один ко многим»:
class User extends Model { public function posts() { return $this->hasMany(Post::class); } }5.3. Отношение «многие ко многим»:
class User extends Model { public function roles() { return $this->belongsToMany(Role::class); } }
Laravel Eloquent предоставляет богатый набор методов и связей, которые упрощают работу с базами данных в приложениях Laravel. Освоив эти методы, вы сможете эффективно выполнять операции CRUD и управлять связями между таблицами базы данных. Независимо от того, новичок вы или опытный разработчик Laravel, понимание и использование Laravel Eloquent значительно повысит вашу продуктивность.