Php 如何获取三个级别类别(类别、子类别、子类别三)的数据并显示所选类别下的相关数据
我有三张桌子。结构如下:Php 如何获取三个级别类别(类别、子类别、子类别三)的数据并显示所选类别下的相关数据,php,laravel,Php,Laravel,我有三张桌子。结构如下: 1. categories id - integer name - string 2. sub_Categories id - integer category_id - integer name - string 3. sub_catergory_threes id - integer sub_Category_id - integer name- string 现在我想显示三个级
1. categories
id - integer
name - string
2. sub_Categories
id - integer
category_id - integer
name - string
3. sub_catergory_threes
id - integer
sub_Category_id - integer
name- string
现在我想显示三个级别的类别,比如,类别,当鼠标悬停在任何类别项上时,该类别的子类别显示,当鼠标悬停在任何子类别项上时,该子类别的子类别显示
我在用laravel Elotent这是我的模型
类别模型
子类别模型
子类别三模型
您可以使用雄辩的关系来加载所有相关数据
$categories = App\Category::with('subcategories.subcategoriesthree')->get();
这将加载所有类别及其子类别和子类别
如果需要动态加载,那么在控制器中可以使用
public function loadSubCategory($categoryId)
{
$category = App\Category::findOrFail($categoryId);
$subcategories = $category->subcategories()->get();
return $subcategories;
}
public function loadSubSubCategory($subcategoryId)
{
$subcategory = App\SubCategory::findOrFail($subcategoryId);
$subsubcategories = $subcategory->subcategoriesthree()->get();
return $subsubcategories;
}
因此,您可以按如下方式编辑模型: 子类别
public function subcategoriesthree(){
return $this->hasMany('App\SubCategoryThree');
}
public function category(){
return $this->belongsTo('App\Category', 'category_id');
}
子类别三个
public function subcategory(){
return $this->belongsTo('App\SubCategory', 'sub_Category_id');
}
在控制器中:
$categories = Category::with(['subcategories', 'subcategories.subcategoriesthree'])->get();
然后,您可以
dd($categories)
并在子类别下查看子类别三个
是的,它显示所有记录表单三个表(Thanx,new lesson),但我想悬停,只显示类别所选项目的子类别。我已经编辑了答案。请检查是否工作非常感谢@mare99这是我想要的工作。再次感谢您$categories=App\Category::with('subcategories.subcategoriesthree')->get()代码>此保存生命您可以展示您的dd($categories)
以及您的期望吗?非常感谢@mare99这是我想要的。欢迎您。别忘了记下答案@阿里扎
public function subcategoriesthree(){
return $this->hasMany('App\SubCategoryThree');
}
public function category(){
return $this->belongsTo('App\Category', 'category_id');
}
public function subcategory(){
return $this->belongsTo('App\SubCategory', 'sub_Category_id');
}
$categories = Category::with(['subcategories', 'subcategories.subcategoriesthree'])->get();