我有一个关于类别和子类别的问题 我有一张table,像: ID-----姓名---- ParentID 1 ------- A ---------- 0 2 ------- B ---------- 0 3 ------- C --------- 1 我已经显示了A B C。但是我需要它像这样显示: A -- C B 只是有问题,不找到这样做的方法(使子类别下的父) 注意:我在视图中成功地使用了make query,但我认为这并不好。 我想找到更好的方法 非常感谢
$categories = DB::table('categories as c1')
->leftJoin('categories as c2','c2.parent_id','=','c1.id')
->leftJoin('categories as c3','c3.parent_id','=','c2.id')
->leftJoin('categories as c4','c4.parent_id','=','c3.id')
->select('c1.id as c1_id','c1.name as c1_name','c2.id as c2_id','c2.name as c2_name','c3.id as c3_id','c3.name as c3_name','c4.id as c4_id','c4.name as c4_name')
->where('c1.parent_id','=',0)
->get();
4条答案
按热度按时间webghufk1#
使用Eloquent,您可以使用
hasMany()
关系将表与其自身相关联。尝试在模型上创建一个新方法,如下所示:
然后,您应该能够获得任何给定ID的子类别列表。
或者,deczo在评论中建议的查询要简单得多,我建议使用这个。
oaxa6hgo2#
显示子、子和子类别-
型号
1.迁移以下类别表:
1.输入您的类别和子类别,如以下表格结构:
控制器
输出:
1.然后,将
$categories
值放入Array
中。输出:
查看
1.现在显示在选择产品上传选项。
和ON菜单选项
fafcakar3#
对我来说,我必须改变一些像这样的事情
4uqofj5v4#
我认为你应该做一个树结构,如果你想获取类别的所有子类别深,当返回类别,你可以让你的逻辑内追加新的属性....使您的应用程序更高的性能...这种方式采取两个查询到您的数据库(: