如何按category_id列出子类别的名称?

时间:2017-03-03 16:35:44

标签: php mysql laravel

我正在尝试按category_id列出子类别名称,其中category_id应该被分组并显示该分组ID的所有子类别名称。 请参阅下图所示的附图:

This picture for database

This is what I get from my query

在我的网页类别名称中反复显示,但我想要显示类别,应显示子类别名称。 例如:

category name   || subcategory name||
Data Management || pa , roji       ||
Executive       || lov, true       ||

我的简单使用关系查询是:

TeamSubCategory::with('category')->orderBy('weight')->get();

3 个答案:

答案 0 :(得分:0)

您可以执行以下操作(半伪代码,因为您没有发布任何模型或视图):

控制器:

$categories = Category::with('teamsubcategory')->get();

查看:

<table>
    @foreach ($categories as $category)
    <tr>
        <td>{{ $category->name }}</td>
        {{-- implode the teamsubcategories and join with a comma and space on the name value --}}
        <td>{{ $category->teamsubcategory->implode('name', ', ') }}</td>
    </tr>
    @endforeach
</table>

答案 1 :(得分:0)

按类别_I'd尝试分组。 并选择group_concat(distinct name)作为subcategory_name

答案 2 :(得分:-1)

使用group_concat

TeamSubCategory::with
->select('*', DB::raw('GROUP_CONCAT(name SEPARATOR ', ') as `name_concatenated`'))
->('category')->groupBy('category_id')->orderBy('weight')->get();