为了简单起见,我将解释一个伪情况:
有一个users
表:
id | name | status
-----------------------
status
列是 enum
,可以有 3 个不同的值:dead
、sick
、healthy
现在我想在一页中显示所有用户
:
死亡
用户位于顶部,生病
用户位于中间,健康
用户位于底部!
我必须执行三个查询吗?并且一一传过去查看? 像这样:
$dead = User::where('status','dead')->get();
$sick = User::where('status','sick')->get();
$healthy = User::where('status','healthy')->get();
或者有更好的方法吗?如果有10个状态怎么办?还是100?
更新:
我正在寻找查询性能。
最佳答案
您需要使用groupBy功能
$users = User::get()->groupBy('status');
结果会是这样的
[
'dead' => [
//items of dead type
],
'healthy' => [
//items of healthy type
],
'sick' => [
//items of sick type
]
]
您可以访问以下数据类型:
$users['dead'];
关于php - 如何根据 "enum"列获取分类的 laravel Eloquent 结果并将其显示在一页中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48931613/