Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/263.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
Php Laravel 5.6查询生成器总和_Php_Mysql_Sql_Laravel_Phpmyadmin - Fatal编程技术网

Php Laravel 5.6查询生成器总和

Php Laravel 5.6查询生成器总和,php,mysql,sql,laravel,phpmyadmin,Php,Mysql,Sql,Laravel,Phpmyadmin,我有表'peserta',带有结构 名称(varchar) h1(整数) h2(整数) h3(整数) 我想选择(h1+h2+h3)作为总数,并以30为上限升序。什么是正确的查询生成器 > $rank['rank'] = DB::table('peserta')->select('*', '(n1+n2+n3) as > total')->limit(30)->orderBy('total', 'asc')->get(); 使用原始查询: DB::tabl

我有表'peserta',带有结构

  • 名称(varchar)
  • h1(整数)
  • h2(整数)
  • h3(整数)
我想选择(h1+h2+h3)作为总数,并以30为上限升序。什么是正确的查询生成器

> $rank['rank'] = DB::table('peserta')->select('*', '(n1+n2+n3) as
> total')->limit(30)->orderBy('total', 'asc')->get();
使用原始查询:

DB::table('peserta')
   ->select(
        '*', 
       DB::raw('(n1+n2+n3) as > total')
    )
   ->limit(30)
   ->orderBy('total', 'asc')
   ->get();
使用原始查询:

DB::table('peserta')
   ->select(
        '*', 
       DB::raw('(n1+n2+n3) as > total')
    )
   ->limit(30)
   ->orderBy('total', 'asc')
   ->get();

您可以使用雄辩的selectRaw方法来实现这一点

$rank['rank'] = DB::table('peserta')
                ->selectRaw('*, h1 + h2 + h3 as total')
                ->limit(30)
                ->orderBy('total', 'asc')
                ->get();

您可以使用雄辩的selectRaw方法来实现这一点

$rank['rank'] = DB::table('peserta')
                ->selectRaw('*, h1 + h2 + h3 as total')
                ->limit(30)
                ->orderBy('total', 'asc')
                ->get();
如果其中一个列值为null,我将设置为0,否则如果h1、h2或h3中的一个为null,total将为您提供null值

如果其中一个列值为null,我将设置为0,否则如果h1、h2或h3中的一个为null,total将为您提供null值