我的数据库中有几个表。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_idblog_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');