在Laravel9框架开发中,数据库查询的频率很高,那么常见的查询到底有哪些呢?让我们一起来看看。
关于get()方法,结果返回 PHP stdClass 实例。可以将列作为对象的属性来访问每列的值,下面演示这个效果。
在控制器中添加:
//数据库查询方法get
public function index()
{
$animals = DB::table('animal')->get();
foreach ($animals as $animal) {
echo $animal->name."<br/>";//访问对象的属性值
}
}
在浏览器中打开,可以看到以下效果:
程序能够正常运行,说明get方法返回的结果集是对象。
关于first()方法,有时我们需要从数据表中检索单行,这个时候可以使用 DB facade 中的 first 方法,此方法将返回单个 stdClass 对象,下面演示这个效果。
在控制器中添加:
//数据库查询方法first
public function testFirst()
{
$animals = DB::table('animal')->first();
echo $animals->name;
}
然后在浏览器中打开http://127.0.0.1:8000/test-first:
关于pluck()方法,有时候我们需要获取数据表中包含单列值的集合,则可以使用 pluck 方法。在下面的例子中,我们将获动物表中名称的集合:
//数据库查询方法pluck
public function testPluck()
{
$animals = DB::table('animal')->pluck('name');
foreach ($animals as $name) {
echo "动物名称".$name."<br/>";
}
}
关于chunk ()方法,如果一个数据库表中有成千上万的数据库记录,这个时候需要考虑使用 DB 提供的 chunk 方法。这个方法一次检索一小块结果,并将每个块反馈到闭包函数中进行处理。例如,让我们以一次 2 条记录的块为单位检索整个 animal 表。
//数据库查询方法chunk
public function testChunk()
{
DB::table('animal')->orderBy('id')->chunk(2, function ($animals) {
foreach ($animals as $animal) {
echo "chunk方法下的动物名称:".$animal->name."<br/>";//访问对象的属性值
}
});
}
关于select ()方法,为了优化数据库查询,有时候,并不需要全部的列,这个时候你就需要select方法了,下面让我们来举个例子:
关于聚会函数,聚合函数也比较常见,例如 count, max, min, avg, 和 sum,举个例子:
这一节就介绍到这里了。
,