如何在 Laravel Eloquent 中选择特定字段?
Laravel Eloquent 提供了许多从表中选择所需字段的方法。以下是一些示例,展示了如何实现。
示例 1
以下是一个示例:
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Models\User; class UserController extends Controller { public function index() { $users = User::select('name', 'email')->where('id', 1)->get(); foreach ($users as $u) { echo $u->name."=>".$u->email; } } }
输出
以上代码的输出为:
Siya Khan=>siya@gmail.com
以上示例等同于以下 SQL 查询:
SELECT name, email FROM users WHERE id=1;
以上代码的输出为:
+-----------+----------------+ | name | email | +-----------+----------------+ | Siya Khan | siya@gmail.com | +-----------+----------------+
示例 2
另一种从表中获取字段的方法如下所示:
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Models\User; class UserController extends Controller { public function index() { $users = User::where('id', 1)->get(['name','email']); foreach ($users as $u) { echo $u->name."=>".$u->email; } } }
输出
以上代码的输出为:
Siya Khan=>siya@gmail.com
示例 3
在下面,我们使用了all()方法以及我们需要的表字段。它将获取表中所有数据以及字段值。
它的 SQL 查询为:
SELECT name, email from USERS;示例如下所示:
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Models\User; class UserController extends Controller{ public function index() { $users = User::all('name','email'); foreach ($users as $u) { echo $u->name."=>".$u->email." "; } } }
输出
以上代码的输出为:
Siya Khan=>siya@gmail.com Heena Khan=>heena@gmail.com Seema=>SZJj8osSc1@gmail.com Neha Singh=>KBc9tUG3pp@gmail.com d7jhMWRMQe=>gOklW2HTzB@gmail.com k118AjAswp=>y9bFEVQlI2@gmail.com 7ZH2Vk0TAp=>gZGo5mg53G@gmail.com w8QSXDIBVU=>PZMoXHjCDs@gmail.com feO56tC0sO=>PpZTTyMoZw@gmail.com MntJcvWT2L=>GgCQRP16oP@gmail.com RANLQbtj44=>Npkx5T2U1F@gmail.com bben5rsdVv=>ogjjwF8GC3@gmail.com
示例 4
使用pluck()方法获取字段,如下所示:
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Models\User; class UserController extends Controller { public function index() { $users = User::where('id', 1)->pluck('name', 'email')->all(); print_r($users); } }
输出
以上代码的输出为:
Array ( [siya@gmail.com] => Siya Khan )
示例 5
使用find()方法获取我们需要的字段。
语法为:
Model::find(valuetobeserarched, ['field1', 'field2']);
示例如下所示:
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Models\User; class UserController extends Controller { public function index() { $users = User::find(1, ['name', 'email']); print_r($users); } }
输出
以上代码的输出为
attributes:protected] => Array( [name] => Siya Khan [email] => siya@gmail.com )
广告
数据结构
网络
关系型数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP