【问题标题】:Laravel select count in raw query原始查询中的 Laravel 选择计数
【发布时间】:2021-10-29 14:25:49
【问题描述】:

我需要在Laravel 中使用Eloquent 进行计数。我的查询:

$sqlQueryCount = " SELECT COUNT(*)
        FROM client_order co 
        INNER JOIN client c ON c.id = co.client_id
        LEFT JOIN user u ON u.id = co.user_id
        WHERE co.user_id = ?
         ";
        
       $resultCount = DB::select($sqlQueryCount,
            [$userId])->count();

它不起作用,不能在数组上使用count()

【问题讨论】:

  • 我从来没有在 Laravel 上运行过这样的完整查询。但是您说select 正在返回array(因为当您执行->count 时会引发该错误。所以我认为您需要做2 个小改动,首先为count 添加一个名称,例如@ 987654329@ 或类似名称,然后删除 ->count() 并在运行 select 后,在新行中执行 $resultCount['total'] 或您决定使用的名称。它应该可以工作。

标签: sql laravel eloquent count


【解决方案1】:

试试这样的

DB::table('client_order')
        ->join('client ', 'client.id', '=', 'client_order.client_id')
        ->leftJoin('user ', 'user.id', '=', 'client_order.user_id')
        ->where('client_order.user_id',$user->id)->count();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-11-13
    • 1970-01-01
    • 1970-01-01
    • 2021-07-27
    • 2017-10-20
    • 2012-10-29
    • 1970-01-01
    • 2018-07-31
    相关资源
    最近更新 更多