Php 如何以最佳方式获得用户id?
我现在通过POST请求从html表单获取数据。我的收件箱应用程序。我的代码工作,但代码不是最优的。没有loop foreach,我无法使用电子邮件获取用户id。如何在没有循环的情况下获取用户id 代码Php 如何以最佳方式获得用户id?,php,laravel,laravel-5.5,Php,Laravel,Laravel 5.5,我现在通过POST请求从html表单获取数据。我的收件箱应用程序。我的代码工作,但代码不是最优的。没有loop foreach,我无法使用电子邮件获取用户id。如何在没有循环的情况下获取用户id 代码 公共功能发送消息(请求$Request) { 如果($request->isMethod('post')) { $to=$request->to; $from=Auth::user()->id; $subject=$request->subject; $message=$request->mess
公共功能发送消息(请求$Request)
{
如果($request->isMethod('post'))
{
$to=$request->to;
$from=Auth::user()->id;
$subject=$request->subject;
$message=$request->message;
$to=User::where('email',$to)->get()->toArray();
foreach($至$value){
$to=$value['id'];
}
回音$to.“
”;
echo$from.“
”;
回声$subject.“
”;
回显$message。“
”;
消息::创建(
[
“主题”=>$subject,
'message'=>$message,
'from'=>$from,
'至'=>$至
]
);
}
}
使用first()
方法:
User::where('email', $to)->first()->id;
或value()
如果您只需要ID:
User::where('email', $to)->value('id');
解释了first()
和get()
之间的区别。使用方法获取唯一对象
$to = User::where('email', $to)->first()->id;
使用get()
必须选择集合中的第一个对象:
$to = User::where('email', $to)->get()[0]->id;
返回一个用户对象时返回一个用户对象
User::where('email',$email)->first()->id;
或
您可以通过获取当前已验证用户的id
Auth::id();
User::whereEmail('email')->first()->id;
Auth::id();