Mysql 用于获取不同类别及其关联子类别Laravel的嵌套查询
我正在研究laravel代码,我发现很难获得子类别列表的嵌套查询。我的表结构是,列名称如下Mysql 用于获取不同类别及其关联子类别Laravel的嵌套查询,mysql,laravel-5,Mysql,Laravel 5,我正在研究laravel代码,我发现很难获得子类别列表的嵌套查询。我的表结构是,列名称如下 id | category_name | cat_head 1 | ultra slim suit | suit 2 | slim suit | suit 3 | Shoes | shoes 4 | Hats | accessories 5 | Cufflinks |
id | category_name | cat_head
1 | ultra slim suit | suit
2 | slim suit | suit
3 | Shoes | shoes
4 | Hats | accessories
5 | Cufflinks | accessories
我想要猫头作为主菜单和类别名称下。
请以laravel雄辩的方式帮助我。您可以创建两个表,如
heads
和categories
,并且可以定义这些表之间的一对多
关系。因此,您的表应该如下所示:
$menu = Head::with('categories')->get();
人头表
+-----+----------+------------+
| id | cat_head | timestamps |
+-----+----------+------------+
+-----+---------------+---------+------------+
| id | category_name | head_id | timestamps |
+-----+---------------+---------+------------+
类别表
+-----+----------+------------+
| id | cat_head | timestamps |
+-----+----------+------------+
+-----+---------------+---------+------------+
| id | category_name | head_id | timestamps |
+-----+---------------+---------+------------+
现在,要定义这些表之间的关系,必须创建两个模型:
头部模型
public function categories()
{
return $this->belongsTo('App\Categorie');
}
public function head()
{
return $this->hasMany('App\Head');
}
分类模型
public function categories()
{
return $this->belongsTo('App\Categorie');
}
public function head()
{
return $this->hasMany('App\Head');
}
然后,在控制器中,您可以执行以下操作:
$menu = Head::with('categories')->get();
希望这能有所帮助。您尝试过什么?你期望的结果是什么?