3 回答

TA貢獻1843條經驗 獲得超7個贊
看你只使用兩條路線。一個用于索引,一個用于存儲。去創建頁面的路線在哪里?添加該路由和控制器方法。
Route::get('user/profile','UserController@index')->name('profile.index');
Route::get('user/profile/create', 'UserController@create')->name('profile.create');
Route::post('user/profile/store', 'UserController@store')->name('profile.store');
控制器
class UserController extends Controller
{
public function index() {
return view('profile.index');
}
public function create() {
return view('profile.create');
}
public function store(Request $request) {
$user_id = auth()->user()->id;
Profile::where('user_id',$user_id)->update([
'name'=>request('name'),
'gender'=>request('gender'),
'country'=>request('country'),
'bod'=>request('bod'),
'description'=>request('description')
]);
return redirect()->route('profile.index');
}
}
形式
<form action="{{route('profile.store')}}" method="POST">
還有你的創建個人資料按鈕
<a href="{{ route('profile.crate') }}"><button>Create Profile</button></a>

TA貢獻1827條經驗 獲得超9個贊
驗證和保存不要結合,單獨檢查并使用fill()進行保存
用戶控制器.php
$validatedData = $request->validate([
'name' => 'required',
'gender' => 'required',
'country' => 'required',
'bod'=>'required',
'description'=>'required',
]);
Profile::where('user_id',$user_id)->fill([
'name'=>'name',
'gender'=>'gender',
'country'=>'country',
'bod'=>'bod',
'description'=>'description',
])->save();
- 3 回答
- 0 關注
- 220 瀏覽
添加回答
舉報