我的数据库中有几个表。Blogs
, Users
, Posts
,Tags
是主要的。我也有链接表:User_blogs
, Blog_posts
& Post_tags
。
我的问题是如何使用 Laravel 的类和方法,如belogs_to()
, has_many()
. 我需要有人来阐明它。我已经阅读了很多文章和文档,但我仍然感到困惑。
通常,如果您正确设置表,laravel 足够智能,可以检测多对多关系 在中间表/数据透视表中两个表名都不应该是复数形式,因此您应该将Users
, Blogs
, Posts
,Tags
作为您的个人表和User_Blog
,作为您Blog_Post
的Post_Tag
中间表表。在这些表中,列应正确反映tablename_id
(小写),因此其他列User_Blog
应包含 3个列id
,等等。user_id
blog_id
在您的模型中,您只需要设置多对多关系
class User extends Eloquent
{
public function blogs()
{
return $this->has_many_and_belongs_to('Blog');
}
}
每个模型依此类推。如果更改结构不是一个选项,那么只需像这样在多对多关系中添加表名return $this->has_many_and_belongs_to('Blog', 'User_blogs');