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 关注
- 92 浏览
添加回答
举报