php - 如何在 Laravel 中选择后对结果进行分组

标签 php mysql laravel

我有一个 Controller ,它返回票证的 expiration_datestatus,引用 user_id

在我获取用户注册的所有票证后, Controller 将显示到期时间和状态。像这样的事情:

0   
expiration_date "2018-03-03 20:38:32"
status  "expired"

1   
expiration_date "2018-03-03 20:38:32"
status  "expired"

2   
expiration_date "2018-03-03 20:38:32"
status  "expired"

3
expiration_date "2018-05-03 09:02:06"
status  "expired"

4
expiration_date "2019-05-03 09:02:06"
status  "available"

5   
expiration_date "2019-05-03 10:00:20"
status  "available"

我的问题是,我需要对具有相同 expiration_datestatus 的数据进行分组。因此,我会将数据 0、1、2 以及数据 4 和 5 分组到一个唯一的项目中,并计算项目数量。像这样的事情:

Count: 3
expiration_date "2018-03-03 20:38:32"
status  "expired"

Count: 1
expiration_date "2018-05-03 09:02:06"
status  "expired"

Count: 2
expiration_date "2019-05-03 10:00:20"
status  "available"

那么,我该怎么做呢?我将 Laravel 与 mysql 结合使用,这是我的 Controller 。

ControllerPHP

<?php

namespace App\Http\Controllers;

use DB;
use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;

class UsersCreditsController extends Controller 
{

    public function getTicketsStatusByUserId($userId)
    {   

        $users = DB::select("
            SELECT COUNT(user_id)
             FROM users_credits 
             WHERE user_id = $userId
        ");

        foreach ($users as $user) {
          $item = DB::select("
              SELECT expiration_date, status
              FROM users_credits 
              WHERE user_id = $userId
              ORDER BY expiration_date ASC
          ");
          return $item;
        }
    }
}

最佳答案

尝试像这样使用 Eloquent ;

$users=yourtable::where('user_id',$userId)->where('status','expired')->get();

关于php - 如何在 Laravel 中选择后对结果进行分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54138170/

相关文章:

mysql - 如何使用触发器将自动增量值设置到另一个字段

php - 更改通过 JSON 传递的输入文本值

php - Laravel 4.1 供应商目录配置

php - Laravel 5 - 如何从表中检索每个日期的结果,即使条目不存在

php - 在 Codeigniter 中上传多个文件

php - Laravel 邮件密件抄送

php - XAMPP 终止工作线程 0

php - Laravel 获取当前路线

mysql - 未知排序规则 1273 错误 MySQL

php - 在 Laravel 中动态更改数据库连接