Laravel雄辩选择使用分组方式

Laravel雄辩选择使用分组方式,laravel,select,group-by,eloquent,Laravel,Select,Group By,Eloquent,当我查询数据库时,我得到了我想要的结果 $data['jobtypes'] = User::Select('jobtype_search', DB::raw('count(jobtype_search) as jobs'))-> Where('jobtype_search', '<>', '') ->GroupBy('jobtype_search') ->get(); 当我尝试 $data['jo

当我查询数据库时,我得到了我想要的结果

 $data['jobtypes'] = User::Select('jobtype_search', DB::raw('count(jobtype_search) as jobs'))->
        Where('jobtype_search', '<>', '')
            ->GroupBy('jobtype_search')
            ->get();
当我尝试

 $data['jobtype_search'] =$user->Select('jobtype_search', DB::raw('count(jobtype_search) as jobs'))->
        Where('jobtype_search', '<>', '')
            ->GroupBy('jobtype_search')
            ->get();
$data['jobtype\u search']=$user->Select('jobtype\u search',DB::raw('count(jobtype\u search)as jobs'))->
其中('jobtype_search','','')
->GroupBy('作业类型\搜索')
->get();
我得到一个
方法select not found
错误


我应该更改什么才能使查询工作?

示例中的
$user
变量是查询的结果集(一个Laravel集合),但您试图将其用作查询

这将起作用(另一个查询):


$user变量包含什么?@devk两个日期之间用户表中的所有数据。在这种情况下,结束日期是今天,开始日期是30天前。将
whereBetween
调用移动到第一个查询会有什么问题?我错过什么了吗?
 $data['jobtype_search'] =$user->Select('jobtype_search', DB::raw('count(jobtype_search) as jobs'))->
        Where('jobtype_search', '<>', '')
            ->GroupBy('jobtype_search')
            ->get();
$data['jobtype_search'] = User::whereBetween('created_at', [$start_date, $end_date])
    ->Select('jobtype_search', DB::raw('count(jobtype_search) as jobs'))
    ->Where('jobtype_search', '<>', '')
    ->GroupBy('jobtype_search')
    ->get();
$data['jobtype_search'] = $user
    ->filter(function ($item) {
        return $item->jobtype_search !== '';
    })
    ->groupBy('jobtype_search')
    ->map(function ($item, $jobTypeSearch) {
        return [
            'jobtype_search' => $jobTypeSearch,
            'jobs' => $item->count(),
        ];
    })