Освоение Laravel Eloquent: основные методы и примеры кода

Laravel Eloquent — это ORM (объектно-реляционное сопоставление), которое упрощает операции с базами данных в приложениях Laravel. Он обеспечивает выразительный синтаксис для запросов и манипулирования записями базы данных. В этой статье блога мы рассмотрим различные полезные методы, предоставляемые Laravel Eloquent, а также примеры кода, которые помогут вам освоить этот мощный инструмент.

  1. Получение записей:
    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. Создание записей:
    2.1. Метод create($attributes): вставляет новую запись в таблицу.
    $user = User::create([
    'name' => 'John Doe',
    'email' => 'johndoe@example.com',
    'age' => 25
    ]);
  3. Обновление записей:
    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. Удаление записей:
    4.1. Метод delete(): удаляет запись.
    $user = User::find(1);
    $user->delete();

    4.2. Метод destroy($ids): удаляет несколько записей по их первичным ключам.

    User::destroy([1, 2, 3]);
  5. Отношения:
    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 значительно повысит вашу продуктивность.