我正在尝试开发一个允许在特定类别下发布商品的网站。这些类别几乎总是至少有一个父类别,并且我希望能够显示一个“树”字样'这些类别中的用户能够浏览类别和文章。类别数据库将包含列id
,parent_id
,cat_name
。
是否有更有效的方法在laravel中执行此操作而不是查找顶级类别然后循环查找每个类别中的所有子类别?在哪里是执行逻辑的最佳位置,以及将此信息传递给视图的最佳方式是什么?
如果需要更多说明,请告诉我。就像我说我对laravel和框架一般都是新手一样,所以我可能会遗漏一些明显的东西。
答案 0 :(得分:3)
您可以在Laravel中定义关系以自动加载对象的关系。
的文档class Category extends Eloquent
{
public function subcategories() {
return $this->hasMany('Category','parent_id');
}
}
在您的控制器中:
Category::with('subcategories')->get(); //Get all categories and their subcategories
你甚至可以这样做(尽管我不确定)Category::with('subcategories.subcategories');
答案 1 :(得分:1)