Отношения Laravel hasMany: методы и примеры кода

В Laravel отношение hasManyиспользуется для определения отношения «один ко многим» между двумя моделями. Он позволяет указать, что с моделью связано несколько экземпляров другой модели. Вот пример и некоторые часто используемые методы:

  1. Определить связь в модели:

    class User extends Model
    {
    public function posts()
    {
        return $this->hasMany(Post::class);
    }
    }
  2. Получить все связанные записи:

    $user = User::find(1);
    $posts = $user->posts;
  3. Получить определенную связанную запись:

    $user = User::find(1);
    $post = $user->posts()->find(2);
  4. Создайте новую связанную запись:

    $user = User::find(1);
    $post = new Post(['title' => 'New Post', 'content' => 'Lorem ipsum']);
    $user->posts()->save($post);
  5. Создайте новую связанную запись с дополнительными данными:

    $user = User::find(1);
    $post = $user->posts()->create(['title' => 'New Post', 'content' => 'Lorem ipsum']);
  6. Обновить связанную запись:

    $user = User::find(1);
    $post = $user->posts()->find(2);
    $post->title = 'Updated Post';
    $post->save();
  7. Удалить связанную запись:

    $user = User::find(1);
    $user->posts()->find(2)->delete();