繁体   English   中英

Laravel 3表模型关系构建

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM