用于获取不同类别的嵌套查询以及相关的子类别Laravel

时间:2018-05-27 09:35:04

标签: 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          |  accessories

我希望cat_head作为主菜单和category_name下的category_name。 请用laravel雄辩的方式帮助我。

1 个答案:

答案 0 :(得分:0)

您可以创建两个表,例如headscategories,您可以在这些表之间定义one-to-many关系。所以,你的表应该是这样的:

头表

+-----+----------+------------+
| 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');
}

然后,在控制器中,您可以执行以下操作:

$menu = Head::with('categories')->get();

希望这有帮助。