0

我的数据库中有几个表。Blogs, Users, Posts,Tags是主要的。我也有链接表:User_blogs, Blog_posts& Post_tags

我的问题是如何使用 Laravel 的类和方法,如belogs_to(), has_many(). 我需要有人来阐明它。我已经阅读了很多文章和文档,但我仍然感到困惑。

4

1 回答 1

1

通常,如果您正确设置表,laravel 足够智能,可以检测多对多关系 在中间表/数据透视表中两个表名都不应该是复数形式,因此您应该将Users, Blogs, Posts,Tags作为您的个人表和User_Blog,作为您Blog_PostPost_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');

于 2013-03-06T18:35:49.617 回答