lavarel 使用hasmany 查询无限分级

郏景澄
2023-12-01

分级数据无限极查询
1 查询分类三级的数据

创建model
/**
* 重新改造此方法
* @return [type] [description]
*/


在这里插入代码片

 public function children()
    {
        return $this->hasMany('App\Models\MerchantsCategory', 'parent_id')->select('cat_id', 'cat_name','parent_id')->with([
            'children' => function ($query) {
                $query->select('cat_id', 'cat_name','parent_id');
            }
        ]);
    }

parent_id作为外键

控制器中调用
q u e r y = M e r c h a n t s C a t e g o r y : : w h e r e ( ′ u s e r i d ′ , query = MerchantsCategory::where('user_id', query=MerchantsCategory::where(userid,ru_id)->select(‘cat_id’,‘cat_name’)->with(‘children’)
->where([‘parent_id’ => 0])->orderBy(‘sort_order’);
q u e r y = B a s e R e p o s i t o r y : : g e t T o A r r a y G e t ( query = BaseRepository::getToArrayGet( query=BaseRepository::getToArrayGet(query);
或者不筛选字段的时候可以这样
return $this->hasMany(‘App\Models\MerchantsCategory’, ‘parent_id’)->with(‘catList’);
这样就ok了

 类似资料: