Php 如何使用Laravel查询生成器

Php 如何使用Laravel查询生成器,php,mysql,database,laravel,Php,Mysql,Database,Laravel,如何使用laravel查询生成器进行以下查询($sql)?我的意思是我想这样使用 $sql=\DB::table('animal)…但我不能这么做。请帮帮我 foreach ($animalsTypes as $animal) { //some code here... $sql ="SELECT count(*) FROM animals WHERE animal='$animal'"; $records = \

如何使用laravel查询生成器进行以下查询($sql)?我的意思是我想这样使用

$sql=\DB::table('animal)…
但我不能这么做。请帮帮我

foreach ($animalsTypes as $animal)
          {
    //some code here...
             $sql ="SELECT count(*) FROM animals WHERE animal='$animal'";
              $records = \DB::select($sql);

               foreach($records as $record){
         //some code here...      
         }
    }
此查询不起作用,它不显示任何结果及其计数

  $records = \DB::table('animals')
                 ->select(DB::raw('count(*)'))
                 ->where('animal', '=', '$animal')
                 ->get();

阅读文档,它有完整的select和其他语句指南。

试试-

DB::table('animals )->where('animal', $animal)->count();
如果要计算:

$amount_of_animal = DB::table('animals')->where('animal',$animal)->count();
如果您也想要结果:

$animal = DB::table('animals')->where('animal',$animal)->get();

您得到的错误/异常是什么?您要求计数,然后您想要迭代记录?这是一个或另一个问题。此外,除非出于性能原因绝对必要,否则不应在循环内执行查询。不使用此$records=\DB::table('animals')->select(DB::raw('count(*'))->where('animal','=','$animal')->get();我得到错误:在编写上面的查询时:QueryException in Connection.php第614行:SQLSTATE[42703]:未定义列:7错误:列“动物”不存在第1行:选择count()作为“动物”中的聚合,其中“动物”…^(SQL:从“animal”中选择count()作为聚合,其中“animal”=$animal),这意味着您可能在某个地方有一个输入错误,因为在您的案例中,它应该是“animal”列,并且错误表明“animals”列不存在。
$animal = DB::table('animals')->where('animal',$animal)->get();