【问题标题】:Convert PHP Query to Laravel in Controller在控制器中将 PHP 查询转换为 Laravel
【发布时间】:2018-01-26 14:39:51
【问题描述】:

有人可以在 Laravel 中将此 php 代码转换为类似的东西吗?

$result = mysqli_query($conn, "SELECT birthday, count(*) FROM person group by birthday;");
  while ($row = mysqli_fetch_array($result, MYSQL_NUM)) {
      $yearvalues[$row[0]] = (int)$row[1];
  }

像这样:

$female = Enroll::select(DB::raw("SUM(tot_enroll) as count"))
            ->orderBy(DB::raw('sy'))
            ->groupBy(DB::raw("(sy)"))
            ->where('gender','=', 'Female')
            ->get()->toArray();
            $female = array_column($female, 'count');

【问题讨论】:

    标签: php sql arrays laravel


    【解决方案1】:

    很简单,

    您可以像这样在 laravel 中将您的 sql 查询转换为查询生成器:

    DB::table('person')->select('birthday',DB::raw('COUNT(*) as count'))
                       ->groupBy('birthday')
                       ->get();
    

    在您的情况下,您忘记选择 sygender 所以 orderBygroupBywhere 什么也不做,所以试试这个代码来获取您的数据。

    DB::table('enrollments')->select(DB::raw('sy','gender','SUM(tot_enroll) as count'))
                       ->where('gender','=', 'Female')
                       ->groupBy('sy')
                       ->orderBy('sy')
                       ->get();
                       ->toArray();
    

    【讨论】:

      【解决方案2】:

      我假设您的型号名称是用户。那你就可以这样写了。

      User::select('birthday')->groupBy('person')->get()->count;
      

      【讨论】:

        猜你喜欢
        • 2017-12-06
        • 2015-08-29
        • 1970-01-01
        • 1970-01-01
        • 2015-12-13
        • 2019-03-09
        • 2021-08-07
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多