Laravel 3表模型关系构造

时间:2014-10-03 23:05:40

标签: php laravel laravel-4

您好我有以下3个表格,彼此之间有ID,如下所示,我正在尝试在Laravel中为每个创建一个模型,但我很困惑如何使用belongsTo&其他...

 TABLE: posts
 -----------------------------
 id        Auto-inc
 type_id   if (3 its for a blog)
 title 
 content

 TABLE: blog
 -----------------------------
 id        Auto-inc
 post_id   the post id
 cat_id    blog_cat table id 
 slug


 TABLE:blog_cat
 -----------------------------
 id    Auto-inc
 cat_name 

现在我正在尝试为Blog.php编写模型,BlogCat.php& Post.php,我可以使用这样的东西:

$blog = Post::with('blogCat')->get()->toArray();

获得一个帖子&如果type_id = 3(博客)从博客表中获取博客信息的数组是可能的,或者我只需要使用select,where / Join?

由于

1 个答案:

答案 0 :(得分:0)

在Blog模型中,您需要一个返回BelongsTo()的cat()关系。

在Post Model中,您需要一个返回HasOne()的blog()关系。

获取热门博客的帖子集合:

$blog = Post::with('blog')->get()

为每个博客收集热门​​加载博客和BlogCats的帖子集合:

$blog = Post::with('blog.blogCat')->get()

要仅为type_id为3的帖子加载博客,您需要使用“eager load constraint