[英]Laravel 3 tables model relation construction
您好,我有以下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,在哪里/加入?
谢谢
在Blog模型中,您需要一个cat()关系,该关系返回BelongsTo()。
在您的Post Model中,您需要一个blog()关系,该关系返回一个HasOne()。
要获得热切加载的博客文章集:
$blog = Post::with('blog')->get()
要获得每个博客都渴望加载的博客和渴望加载的BlogCat的帖子集合:
$blog = Post::with('blog.blogCat')->get()
为了仅加载type_id为3的Blog for Posts,您需要使用“ 渴望加载约束 ”
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.