Php 如何使用Laravel查询生成器
如何使用laravel查询生成器进行以下查询($sql)?我的意思是我想这样使用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 = \
$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();