Laravel 5.2 如何在laravel5.2中按顺序使用计数

Laravel 5.2 如何在laravel5.2中按顺序使用计数,laravel-5.2,Laravel 5.2,我想按顺序使用count,我使用了以下两种方法 首先 第二 DB::table('user_skill') ->join('skill_category', 'user_skill.skill_category_id', '=', 'skill_category.skill_category_id') ->select(DB::raw('user_skill.skill_category_id', 'skill_category

我想按顺序使用count,我使用了以下两种方法

首先

第二

DB::table('user_skill')
        ->join('skill_category', 'user_skill.skill_category_id', '=', 'skill_category.skill_category_id')            
        ->select(DB::raw('user_skill.skill_category_id', 'skill_category.skill_name'))
        ->orderBy('count(user_skill.skill_category_id)','desc')
        ->groupBy('user_skill.skill_category_id')
        ->get();
但两者都给出了以下错误

SQLSTATE[42S22]: Column not found: 1054 Unknown column 'totalIds' in 'order clause'

任何建议,我如何解决这个问题?

如果您检查原始函数,您将看到它只接受一个参数

public static function raw($value){        
    return \Illuminate\Database\MySqlConnection::raw($value);
}
此外,您要做的是传递多个参数,以便只传递第一个参数

public static function raw($value){        
    return \Illuminate\Database\MySqlConnection::raw($value);
}
你可以像下面那样修复它

->select(DB::raw('user_skill.skill_category_id, skill_category.skill_name, count(user_skill.skill_category_id) as totalIds'))


尝试在order by函数(如
user\u skill.totalIds
)的列名之前添加表名。我不确定,但也许我们会走运:)
->select('user_skill.skill_category_id', 'skill_category.skill_name', DB::raw('count(user_skill.skill_category_id) as totalIds'))