Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 如何在laravel中一次查询多个条件下执行计算_Mysql_Laravel_Eloquent - Fatal编程技术网

Mysql 如何在laravel中一次查询多个条件下执行计算

Mysql 如何在laravel中一次查询多个条件下执行计算,mysql,laravel,eloquent,Mysql,Laravel,Eloquent,我尝试在我的一个查询表中进行如下计算 在拉雷维尔,我试着这样做 public function index() { $data = Answare::groupBy('questions_id') ->selectRaw("count(case when value = 'sangat buruk' then 1 end) as sangatBuruk") ->selectRaw("count(case when value

我尝试在我的一个查询表中进行如下计算

在拉雷维尔,我试着这样做

 public function index()
{
    $data = Answare::groupBy('questions_id')
    ->selectRaw("count(case when value = 'sangat buruk' then 1 end) as sangatBuruk")
    ->selectRaw("count(case when value = 'buruk' then 1 end) as buruk")
    ->selectRaw("count(case when value = 'baik' then 1 end) as baik")
    ->selectRaw("count(case when value = 'sangat baik' then 1 end) as sangatBaik");
    
    dd($sangatBuruk);
    return view('admin.jawaban.index', compact('data'));
    
}
在dd($sangatBurut)中,结果是:

如何做出这样的最终结果

如果您得到了正确的结果,那么您可以使用blade或livewire在前端显示数据。目前,您显示的内容非常有限,除了指出代码中的错误之外,无法提供帮助。

尝试以下方法:

 $statuses = Answare::toBase()
                ->selectRaw("count(case when value = 'sangat buruk' then 1 end) as sangatBuruk")
                ->selectRaw("//condition 2) as alias")
                ->selectRaw("//condition 3) as alias")
                ->first();

如果有帮助,请接受此答案:-)
 $statuses = Answare::toBase()
                ->selectRaw("count(case when value = 'sangat buruk' then 1 end) as sangatBuruk")
                ->selectRaw("//condition 2) as alias")
                ->selectRaw("//condition 3) as alias")
                ->first();