雄辩的ORM Laravel关系



在Laravel中,我有两个表:

<我> 表有两个字段(<我> id , <我> )名称

<我> 用户有三个字段(<我> id , <我> , <我> book_id )

如何获得阅读超过五本书的用户?

你给我们看的是一对多的关系,多个User属于一个Book。也就是说,一个用户只能有一本相关的书。您想要的可能是数据透视表的多对多关系,如下所示:

users table: id, name
book_user pivot table: book_id, user_id
books table: id, name
// then relationships:
// User model
public function books()
{
   return $this->belongsToMany('Book');
}
// Book model
public function users()
{
   return $this->belongsToMany('User');
}
// and calling relations:
$user = User::first();
$user->books; // collection of Book models
// Now to fetch users that have more than 5 books related, what you asked:
User::has('books', '>', 5)->get(); // collection of User models

相关内容

  • 没有找到相关文章

最新更新