只需使用这个:
$user = User::whereEmail($email)->first();
你也可以这样做
在使用它之前,您必须在控制器中声明 DB 外观
use Illuminate\Support\Facades\DB;
现在你可以使用这个获得一行
$getUserByEmail = DB::table('users')->where('email', $email)->first();
或者通过这个
$getUserByEmail = DB::select('SELECT * FROM users WHERE email = ?' , ['useremailaddress@email.com']);
这个返回一个数组,其中只有一个项目,而第一个返回一个对象。记在脑子里。
希望这可以帮助。
使用 Laravel Eloquent,您可以使用 first()
方法获得一行,
如果未找到 where()
条件,则返回表的第一行,否则给出给定条件的第一个匹配行。
句法:
Model::where('fieldname',$value)->first();
例子:
$user = User::where('email',$email)->first();
//OR
//$user = User::whereEmail($email)->first();
如果您需要找出任何特定字段,您可以使用
$user = User::where('email',$email)->first();
$user = User::where('username',$username)->first();
$user = User::where('id',$id)->first();
试试看
$color = \App\Color::take(1)->first();
拉拉维尔 5.8
如果您甚至不需要整行,您可以使用 value()
方法从记录中提取单个值。此方法将直接返回列的值:
$first_name = DB::table('users')->where('email' ,'me@mail,com')->value('first_name');
检查docs
拉拉维尔 5.2
$sql = "SELECT * FROM users WHERE email = $email";
$user = collect(\User::select($sql))->first();
或者
$user = User::table('users')->where('email', $email)->pluck();
不定期副业成功案例分享
$user = User::whereEmail($email)->first();
的第一个用户。