我想这样进行JSON响应:
{
"title": "Category title",
"description": "Category description",
"articles": [
{
"title": "Article title",
"comments": [
{
"user_name": "User Name",
"text": "Coment text"
},
{
"user_name": "User Name",
"text": "Coment text"
}
]
}
]
}
应用程序具有类别表
categories
id
title
description
还有category_articles表
category_articles
id
category_id
article_id
类别模型具有这种关系
public function articles()
{
return $this->hasMany('App\CategoryArticles', 'category_id');
}
如您所见,类别与文章之间没有直接关系 因为文章是一种独立的表,将在不同的部分使用 申请
这是文章表
articles
id
title
body
文章之间有很多评论关系
comments
id
user_id
评论也与用户有关系
因此,我需要像开始时一样返回响应。 我在控制器中就像这里一样堆叠。
public function show(Category $category)
{
}
我应该如何实现我的代码以获得这样的响应?我应该为此使用资源吗?
答案 0 :(得分:1)
v = df1.merge(df2, left_on='Target', right_on='Source', how='right')
dct = dict(
Source=v['Source'],
out_degree=v['in_degree'].add(v['out_degree'], fill_value=0))
pd.DataFrame(dct).sort_values('Source')
Source out_degree
3 1 4.0
0 2 5.0
4 3 5.0
1 4 29.0
2 5 58.0
应该是articles
关系:
BelongsToMany
然后使用紧急加载:
public function articles()
{
return $this->belongsToMany('App\Article', 'category_articles');
}
答案 1 :(得分:0)
在以下情况下使用hasMany关系:
一个用户有很多汽车(但是汽车仅对一个用户唯一)
拥有2个模型和2个表(其中1个具有所有数据,即汽车,以及对用户的引用,即user_id)
在您的情况下,这将是一个AboutToMany关系
一个用户有很多办公室(但是有更多与该办公室相关的用户/风扇/灯等)
有3个表(用户,办公室,数据透视表user_office(带有user_id和office_id)