Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 用于获取不同类别及其关联子类别Laravel的嵌套查询_Mysql_Laravel 5 - Fatal编程技术网

Mysql 用于获取不同类别及其关联子类别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 |

我正在研究laravel代码,我发现很难获得子类别列表的嵌套查询。我的表结构是,列名称如下

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();

希望这能有所帮助。

您尝试过什么?你期望的结果是什么?