我想在登录帐户时创建另一个帐户。我没有编辑任何内容,因为我不知道要编辑什么。
请帮助。谢谢。
这是我的RegisterController.php
<?php
namespace App\Http\Controllers\Auth;
use App\User;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\Validator;
use Illuminate\Foundation\Auth\RegistersUsers;
class RegisterController extends Controller
{
/*
|--------------------------------------------------------------------------
| Register Controller
|--------------------------------------------------------------------------
|
| This controller handles the registration of new users as well as their
| validation and creation. By default this controller uses a trait to
| provide this functionality without requiring any additional code.
|
*/
use RegistersUsers;
/**
* Where to redirect users after registration.
*
* @var string
*/
protected $redirectTo = '/dashboard';
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('guest');
}
/**
* Get a validator for an incoming registration request.
*
* @param array $data
* @return \Illuminate\Contracts\Validation\Validator
*/
protected function validator(array $data)
{
return Validator::make($data, [
'name' => 'required|string|max:255',
'email' => 'required|string|email|max:255|unique:users',
'password' => 'required|string|min:6|confirmed',
]);
}
/**
* Create a new user instance after a valid registration.
*
* @param array $data
* @return User
*/
protected function create(array $data)
{
return User::create([
'name' => $data['name'],
'email' => $data['email'],
'password' => bcrypt($data['password']),
]);
}
}
这是router.php中的auth路由
public function auth()
{
// Authentication Routes...
$this->get('login', 'Auth\LoginController@showLoginForm')->name('login');
$this->post('login', 'Auth\LoginController@login');
$this->post('logout', 'Auth\LoginController@logout')->name('logout');
// Registration Routes...
$this->get('register', 'Auth\RegisterController@showRegistrationForm')->name('register');
$this->post('register', 'Auth\RegisterController@register');
// Password Reset Routes...
$this->get('password/reset', 'Auth\ForgotPasswordController@showLinkRequestForm')->name('password.request');
$this->post('password/email', 'Auth\ForgotPasswordController@sendResetLinkEmail')->name('password.email');
$this->get('password/reset/{token}', 'Auth\ResetPasswordController@showResetForm')->name('password.reset');
$this->post('password/reset', 'Auth\ResetPasswordController@reset');
}
答案 0 :(得分:2)
您可以创建一个新的控制器。
UserController.php
public function create(Request $request)
{
return User::create([
'name' => $request->name,
'email' => $request->email,
'password' => bcrypt($request->password),
]);
return //whatever
}
答案 1 :(得分:1)
如果您使用的是Laravel 5.4
您可以在Auth / RegisterController中添加它
public function __construct()
{
$this->middleware('auth');
}
要求用户在注册之前进行记录..
答案 2 :(得分:1)
如果您想要而不是修改&#39; RegisterController&#39;您可以创建一个自定义控制器。以及如何做到这一点。
namespace App\Http\Controllers;
use Illuminate\Http\Request;
//use Auth
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Hash;
use App\User;
class UserController extends Controller
{
public function __construct()
{
// check if user is logged in, if not then redirect them to the login page
$this->middleware('auth');
}
public function registerUser(Request $request){
// assume data validation here
//save user to database
$user = new User();
$user->email = $request->email;
$user->password = Hash::make($request->password);
$user->save();
return //return whatever
}
}