📜  如何在 laravel 8 中获取特定列 - PHP (1)

📅  最后修改于: 2023-12-03 15:38:19.162000             🧑  作者: Mango

如何在 Laravel 8 中获取特定列

在 Laravel 8 中,可以使用 Eloquent ORM 来查询数据库并获取特定列。以下是获取特定列的几种不同的方法。

方法一:使用 select 方法

使用 select 方法来获取指定列。可以传递列名的数组,或逗号分隔的列名字符串。

$users = DB::table('users')
                ->select('name', 'email')
                ->get();

或者:

$users = DB::table('users')
                ->select(['name', 'email'])
                ->get();

在查询构造器中,使用 selectRaw 方法来获取特定列的原始 SQL 表达式。

$users = DB::table('users')
                ->selectRaw('count(*) as user_count, status')
                ->groupBy('status')
                ->get();
方法二:使用 pluck 方法

使用 pluck 方法来获取单个列的值。传递列名作为参数。

$titles = DB::table('posts')->pluck('title');
方法三:使用 value 方法

使用 value 方法来获取单一值。传递列名作为参数。

$myEmail = DB::table('users')->where('name', 'John')->value('email');

注意:使用 value 方法时,查询结果必须是单行单列,否则将会抛出异常。

方法四:使用 first 和 last 方法

使用 first 和 last 方法来获取第一行或最后一行记录。如果不提供参数,则返回整个行。

$firstRow = DB::table('users')->first();
$lastRow = DB::table('users')->latest()->first();

如果要获取特定列,可以在 first 或 last 方法后面使用 select 方法。

$name = DB::table('users')->where('name', 'John')->select('name')->first();

以上是在 Laravel 8 中获取特定列的几种方法。选择适当的方法将有助于优化您的查询,并且确保您只检索出需要的数据。