为简单起见,我将解释伪情况:
有一个id | name | status
-----------------------
表:
status
enum
colum为dead
,可以有3个不同的值:sick
,healthy
,users
现在我想在一个页面中显示所有dead
:
最高sick
位用户,中间位置为healthy
位用户,底部为$dead = User::where('status','dead')->get();
$sick = User::where('status','sick')->get();
$healthy = User::where('status','healthy')->get();
位用户!
我必须执行三个查询吗?并逐一传递给他们看? 像这样:
{{1}}
还是有更好的方法?如果有10种状态怎么办?还是100?
更新
我正在寻找查询性能。
答案 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'];