【发布时间】:2019-05-19 17:46:46
【问题描述】:
我是 laravel 的新手,我正在为三个表创建 json 响应,我正在尝试最多两个表,但我无法在编码中添加第三个表,请在我的函数中添加一些编码。表是
- category_type={category_type_id,category_name};
- main_category={main_category_id,category_type_id,main_category_name}
- sub_category={sub_category_id,category_type_id,main_category_id,sub_category_name}
我正在将 json 嵌套到第二个表,现在我想加入第三个表。
我创建的函数:
public function fetchCategory()
{
$tableIds = DB::select( DB::raw("SELECT * FROM table_category_type"));
$jsonResult = array();
for($i = 0;$i < count($tableIds);$i++)
{
$jsonResult[$i]["category_id"] = $tableIds[$i]->category_id;
$jsonResult[$i]["category_type"] = $tableIds[$i]->category_type;
$id = $tableIds[$i]->category_id;
$jsonResult[$i]["main_category"] = DB::select( DB::raw("SELECT * FROM table_main_category WHERE category_type_id = $id"));
}
return Response::json(array(
'success' => '1',
'data' => $jsonResult),
200
);
}
Json 从我的代码中获得,它在第一个表中嵌套了第二个表,但我想在第一个表中嵌套第三个表。
{
"success": "1",
"data": [
{
"category_id": 1,
"category_type": "Study",
"main_category": []
},
{
"category_id": 2,
"category_type": "Sports",
"main_category": [
{
"main_category_id": 1,
"category_type_id": 2,
"category_name": "Popular Sports"
},
{
"main_category_id": 2,
"category_type_id": 2,
"category_name": "Team Sports"
},
{
"main_category_id": 3,
"category_type_id": 2,
"category_name": "Racquet Sports"
},
{
"main_category_id": 4,
"category_type_id": 2,
"category_name": "Fitness"
},
{
"main_category_id": 5,
"category_type_id": 2,
"category_name": "Recreation"
}
]
},
{
"category_id": 3,
"category_type": "Other",
"main_category": []
}
]
}
我在 category_type 中嵌套 main_category 现在我想在 main_category 中嵌套 sub_category plz 需要更改编码。我在一对多和多对多关系中嵌套三个表。由于我是 laravel 的新手,我无法理解如何在嵌套关系中发送 id
【问题讨论】:
-
您是否为这些表设置了 Eloquent 模型?
-
我认为他在寻找自我参照关系stackoverflow.com/questions/20923773/…
-
这根本不是你用 Laravel 做事的方式,看看雄辩的模型,这会变得容易得多。