Laravel toc如何在类别和子类别之间创建关系

Laravel toc如何在类别和子类别之间创建关系,laravel,eloquent,relationship,laravel-8,Laravel,Eloquent,Relationship,Laravel 8,我有类别和子类别表格 表格目录: id title description id category_id parent_category_id 表子类别: id title description id category_id parent_category_id 类别的数据表格: 子类别的数据表 在我的情况下,任何类别都有无限的子类别。如何为模型建立多对多关系,以获得所有类别和子类别?我建议您将类别保留在下表中 身份证件 家长id 名称 1. 0 母猫 2. 1. 小猫 要获取类别

我有
类别
子类别
表格

表格
目录

id
title
description
id
category_id
parent_category_id
子类别

id
title
description
id
category_id
parent_category_id
类别的数据
表格:

子类别的数据


在我的情况下,任何类别都有无限的子类别。如何为模型建立多对多关系,以获得所有类别和子类别?

我建议您将类别保留在下表中

身份证件 家长id 名称 1. 0 母猫 2. 1. 小猫
要获取类别或子类别,可以使用

$allSubCategory = DB::table('sub_categories')->orderBy('id', 'DESC')
                    ->join('categories', 'sub_categories.category_id', '=', 'categories.id')
                    ->select('sub_categories.*', 'categories.category_name')
                    ->get();
    
    $allCategory = DB::table('categorys')->orderBy('id', 'DESC')
                    ->join('sub_categories', 'categorys.category_id', '=', 'sub_categories.id')
                    ->select('categorys.*', 'sub_categories.sub_category_name')
                    ->get();

为什么不考虑将子类别放在同一个表中,并将其指定为父级的PARTENTCORYTYYGYID。然后在类别模型中:您将拥有:public function subCategories(){return$this->hasMany(Category::class,'parent_Category_id');}最后:Category::with('subCategories')->all();这不容易吗?