【发布时间】:2020-01-22 09:59:10
【问题描述】:
登录的用户可以导航到 settings.blade.php 并查看他们当前的电子邮件、密码、姓名等。通过此表单,他们应该能够更新他们的电子邮件、密码、姓名等。
我有表单,它成功地从数据库中提取用户数据。现在,当用户更新(更改)表单字段(例如“名称”)时,我需要相应地更新数据库。我只是找不到 form method="POST" 操作应该是什么?
web.php
Route::get('settings', 'SettingsController@edit')->name('settings');
Route::post('settings/update', 'SettingsController@update')->name('settings_update');
setting.blade.php
This page has a form so that users can update their name and email. Form POST method is missing because everything I try is not working
<form method="POST" action="WHAT GOES HERE?" enctype="multipart/form-data">
SettingsController.php
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class SettingsController extends Controller
{
/**
* Show the form for editing the specified resource.
*
* @return \Illuminate\Http\Response
*/
public function edit()
{
$user = auth()->user();
return view('user_admin.settings', compact('user'));
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function update(Request $request)
{
$request->validate([
'first_name' => 'required',
'last_name' => 'required',
'email' => 'required',
]);
$user = auth()->user();
$user->first_name = $request->get('first_name');
$user->last_name = $request->get('last_name');
$user->email = $request->get('email');
$user->about_me = $request->get('about_me');
$user->save();
return redirect('settings')->with('success', 'Settings updated!');
}
}
【问题讨论】:
-
我想,但是怎么做?
标签: laravel