表
category category_path
--------------- ----------------
id category_id
title path_id
level
查询
CategoryPath::with('Category')
->select('*', DB::Raw('group_concat(title ORDER BY level SEPARATOR " > ") as name'))
->groupBy('category_path.category_id')->paginate(10);
我在Unknown column 'title'
中收到错误group_concat
。
如何从相关表格中进行选择?
简单解决方案:
使用模型类而不是DB类,然后查询将保持雄辩的关系:
$categories = CategoryPath::select('*', DB::Raw('group_concat(title ORDER BY level SEPARATOR " > ") as name'))
->leftJoin('category', 'category_path.path_id', '=', 'category.id')
->groupBy('category_path.category_id')
->orderBy('name', 'ASC')
->paginate(10);
答案 0 :(得分:2)
您可以使用lists()
方法。
$categoryPath = CategoryPath::with('category')->paginate(10);
foreach($categoryPath as $path) {
echo implode(' > ', $path->category->lists('title'));
}
虽然我做了一些假设,但这应该会产生预期的效果。