Laravel:创建一个有很多关系的新记录

时间:2017-04-20 19:14:31

标签: laravel laravel-5

我有以下表格

  • 用户
    • ID
  • 书籍
    • ID
  • favourite_books
    • ID
    • user_id(FK)
    • book_id(FK)

在我的模特中,我有以下内容:

class User {
    public function favouriteBooks()
    {
        return $this->belongsToMany(Book::class, 'favourite_books');
    }
}

class Book {
    public function usersFavourited()
    {
        return $this->belongsToMany(User::class, 'favourite_books');
    }
}

如何创建用户喜欢的新书?换句话说,Laravel在favourite_books表中创建新行的方式是什么。

1 个答案:

答案 0 :(得分:2)

在多对多关系(https://laravel.com/docs/5.4/eloquent-relationships#updating-many-to-many-relationships)下的Laravel文档中,它显示以下内容:

$user = App\User::find(1);

$user->roles()->attach($roleId);

在您的情况下,roles()将是您的用户模型上的图书的关系方法(favouriteBooks()),而$roleid将是受欢迎的图书的ID。