2 回答

TA貢獻1786條經驗 獲得超13個贊
當表單從瀏覽器發送到您的服務器時,沒有為它到達而定義的POST路由,但表單使用了該路由。嘗試以下更改。/registerroutes/web.phpPOST
HTML:
<form class="mt-8" action="/register/create" method="POST">
網站.php
Route::post('/register/create', 'Auth\RegisterController@create')->name('register');
其次,Register控制器的create()方法不是Request從路由接收對象,而是一個未指定的名為 的數組$data。
將此添加到use控制器頂部的語句中
use Illuminate\Http\Request;
然后像下面這樣改變create(array $data)方法,所以它注入Request對象$request而不是array $data. 最后,您應該使用框架并調用實例all()上的方法來在數據庫中創建記錄。$request
/**
* Create a new user instance after a valid registration.
*
* @param Request $request
* @return \App\User
*/
protected function create(Request $request)
{
return User::create($request->all());
}

TA貢獻1946條經驗 獲得超4個贊
也許您沒有將模型存儲在數據庫中。嘗試dump and die -> dd()一步一步地在您的create()方法中獲取數據,以了解您是否正在從視圖中接收數據。就像是:
protected function create(array $data)
{
// first if the $data is not empty
dd($data);
// then if the user is created
$user = User::create([
'name' => $data['name'],
'email' => $data['email'],
'password' => Hash::make($data['password']),
]);
dd($user);
return $user;
}
如果數組不為空但 $user 為空,則問題可能來自數據庫,這意味著您沒有成功連接到數據庫。
.env使用數據庫連接值修改您的文件。
- 2 回答
- 0 關注
- 119 瀏覽
添加回答
舉報