我正在使用此查询来获取每个类别的孩子
$this['children'] = Cat::first()->children;
但是它只获取第一个类别的子类别,并且所有其他类别都出现相同的子类别。关于如何解决此问题的任何想法?
模型关系
public function children(){
return $this->hasMany(static::class,'parent_id','id');
表结构
类别表
id
cat_title
parent_id
nest_right
nest_left
嵌套深度
sl
parent_id = 0(类别)
parent_id> 0(子类别)
答案 0 :(得分:1)
要获取每个类别的子类别,您首先需要获取每个类别的ID并在查询中使用它。 (例如,在foreach循环中)
$this['children'] = Cat::find($id)->children;
如果您需要同时获取所有类别及其相关子类别,则需要热切加载:
$allCatsWithTheirChildren = Cat::with('children')->all();