如何根据“枚举”列获得分类的 laravel 雄辩结果并在一页中显示?
Posted
技术标签:
【中文标题】如何根据“枚举”列获得分类的 laravel 雄辩结果并在一页中显示?【英文标题】:How to get categorized laravel eloquent results based on "enum" column and show them in one page? 【发布时间】:2018-08-02 13:13:54 【问题描述】:为了简单起见,我将解释一个伪情况:
有一个users
表:
id | name | status
-----------------------
status
列是 enum
,可以有 3 个不同的值:dead
,sick
,healthy
现在我想在一页中显示所有users
:
dead
用户在顶部,sick
用户在中间,healthy
用户在底部!
我必须执行三个查询吗?并一一传过来查看? 像这样:
$dead = User::where('status','dead')->get();
$sick = User::where('status','sick')->get();
$healthy = User::where('status','healthy')->get();
或者有更好的方法吗?如果有 10 个状态怎么办?还是100?
更新:
我正在寻找查询性能。
【问题讨论】:
那么,如果有很多结果,您是否使用分页? @SagarGautam,其实我没想到!但在我的情况下,结果用于幻灯片,并不多!对于分页,我认为最好将每个页面发送到不同的页面。 【参考方案1】:你需要使用groupBy函数
$users = User::get()->groupBy('status');
结果会是这样的
[
'dead' => [
//items of dead type
],
'healthy' => [
//items of healthy type
],
'sick' => [
//items of sick type
]
]
您可以访问以下类型的数据:
$users['dead'];
【讨论】:
那么如何使用刀片文件中分离出来的结果呢? 谢谢。我需要将它们转换为数组吗?让我试试 其实不会的,没有toArray()
祝你好运就会给你群里收藏
以上是关于如何根据“枚举”列获得分类的 laravel 雄辩结果并在一页中显示?的主要内容,如果未能解决你的问题,请参考以下文章