如何根据" enum"获得分类的laravel雄辩结果?列并在一个页面中显示它们?

时间:2018-02-22 15:48:06

标签: php mysql laravel eloquent blade

为简单起见,我将解释伪情况:

有一个id | name | status ----------------------- 表:

status

enum colum为dead,可以有3个不同的值:sickhealthyusers

现在我想在一个页面中显示所有dead: 最高sick位用户,中间位置为healthy位用户,底部为$dead = User::where('status','dead')->get(); $sick = User::where('status','sick')->get(); $healthy = User::where('status','healthy')->get(); 位用户!

我必须执行三个查询吗?并逐一传递给他们看?  像这样:

{{1}}

还是有更好的方法?如果有10种状态怎么办?还是100?

更新

我正在寻找查询性能。

1 个答案:

答案 0 :(得分:0)

您需要使用groupBy功能

$users = User::get()->groupBy('status');

结果就像

/*
[
    'dead' => [
        //items of dead type
    ],
    'healthy' => [
                   //items of healthy type
    ],
    'sick' => [
                   //items of sick type
    ]
]
*/

您可以访问以下数据类型:

$users['dead'];