首页 > 解决方案 > Laravel Eloquent Distinct foreach 结果子查询

问题描述

在Eloquent 关系 laravel中使用建议

我做:

echo Cards::distinct('digitos')->count('digitos'); 
$digitos =  Cards::where('campanha_id',$campanha->id)->select(DB::raw('DISTINCT digitos'))->get();
foreach($digitos as $digito){
    echo $digito->digitos;
}

将返回:

不同位数:48

循环 >>> 146 - 248 - 236 - 346 - 256 - 245 - 257 - 367 - 234 - 368 - 356 - 267 - 127 - 235 - 268 - 147 - 238 - 145 - 347 - 126 - 158 - 348 - 258 - 134 - 128 - 138 - 247 - 345 - 157 - 358 - 168 - 124 - 246 - 156 - 167 - 125 - 357 - 135 - 123 - 237 - 148 - 136 - 137 - 239 - 249 - 149 - 129 - 139 -


在 laravel 雄辩的 mysql 查询中:如何实现 count foreach 数字例如:146(7 个结果)-248(3 个结果)-236(30 个结果)-等等......

直接在 Eloquent 查询中?谢谢。

在循环中插入查询,但速度很慢。

标签: phpmysqllaraveleloquent

解决方案


我想你想要groupBy()Collection 方法

$your_query->get()->groupBy('digitos')

推荐阅读