当我尝试更新用户的电子邮件列时,我在数据库中收到一个奇怪的输入,但我不明白为什么。数据库中电子邮件列中的输出看起来像这样, {"email":"try@gmail.com"}而不仅仅是电子邮件家庭控制器 protected function createMail(Request $request) { $data = request()->validate([ 'email' => 'required', ]); $id = Auth::guard('web')->id(); User::where('id', $id)->update(['email' => $data]); }
2 回答
森栏
TA贡献1810条经验 获得超5个赞
$data在您的情况下被定义为->validate()函数的结果,但您需要电子邮件的值。
可以使用 访问值$request->get('email')。
所以你的函数应该是这样的:
protected function createMail(Request $request)
{
$this->validate($request, [
'email' => 'required',
]);
$id = Auth::guard('web')->id();
User::where('id', $id)->update(['email' => $request->get('email')]);
}
慕容3067478
TA贡献1773条经验 获得超3个赞
您正在更新错误的值,它应该是这样的
protected function createMail(Request $request)
{
$this->validate($request, [
'email' => 'required',
]);
$id = Auth::guard('web')->id();
User::where('id', $id)->update(['email' => $request->get('email')]);
}
正如你所看到的request->get('email')而不是['email' => $data]
- 2 回答
- 0 关注
- 102 浏览
添加回答
举报
0/150
提交
取消