Прямо сейчас redirectTo установлен в / home.
Я хочу знать, как я могу перенаправить на предыдущую страницу.
Я пытался с помощью
protected $redirectTo = URL::previous();
но я получаю ошибку разбора, ожидая ','' or
‘;’»
Что было бы лучшим решением для решения этой проблемы? Я предполагаю, что мне нужно как-то переопределить переменную $ redirectTo с помощью URL :: previous (), и этого будет достаточно.
Это мой регистр контроллера:
namespace App\Http\Controllers\Auth;
use App\User;
use URL;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\Validator;
use Illuminate\Foundation\Auth\RegistersUsers;
class RegisterController extends Controller
{
use RegistersUsers;
/**
* Where to redirect users after registration.
*
* @var string
*/
protected $redirectTo = '/home';
/**
* 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|max:255',
'username' => 'required|max:255|unique:users',
'email' => 'required|email|max:255|unique:users',
'password' => 'required|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'],
'username' => $data['username'],
'email' => $data['email'],
'password' => bcrypt($data['password']),
]);
}
}
RegisterController
использует RegistersUsers
черта характера. Когда вы отправляете форму, register()
метод этой черты называется. Он проверяет ввод, создает и аутентифицирует пользователя, а затем перенаправляет на путь, указанный redirectPath()
метод. Этот метод фактически установлен в RedirectsUsers
черта, которая используется RegistersUsers
черта характера.
redirectPath()
метод будет искать redirectTo()
метод на контроллере. Если не найти, если будет перенаправить на URL-адрес, указанный в redirectTo
имущество. Если он не найдет этот метод, он будет использовать все, что возвращается из него.
Итак, если вам нужно установить путь перенаправления динамически, поместите это в свой RegisterController:
protected function redirectTo()
{
return url()->previous();
}
Прочитайте больше Вот.
добавить это к RegisterController
:
protected function redirectTo(){
return url()->previous();
}
Примечание: если поле присутствует $redirectTo
, убери это