redirectTo () после регистрации не работает в laravel 7 - PullRequest
0 голосов
/ 24 апреля 2020

У меня проблема в моем контроллере пользовательской регистрации; redirecTo() не работает. После успешной регистрации (с точки зрения базы данных) я получаю пустую страницу, и URL никогда не меняется.

Вот код моего контроллера:

PS: я также использовал метод redirectPath(), который также не работал.

 <?php
 namespace App\Http\Controllers\Auth\Login;
 use Illuminate\Support\Facades\Auth;
 use App\Http\Controllers\Auth\RegisterController as DefaultRegisterController;
 use Illuminate\Http\Request;
 use Illuminate\Auth\Events\Registered;
 use Illuminate\Support\Facades\Hash;
 use Illuminate\Support\Facades\Validator;
 use App\{Models\Medcine, Specialite ,SpecialiteMedcine};
 use App\Http\Controllers\Controller;


class RegisterMedcineController extends DefaultRegisterController


protected $redirectTo = '/medcine/home';//This 1 is not working


public function redirectTo()//nd also this method is not working
{
    dd(['Heelllooooooooo']);//shows nothing -_- that means that the system never caull this cursed method
    return '/medcine/home';
}

public function showRegisterationForm()
{
    return view('auth.register.medcine' , [
        'Specialite' => Specialite::all()
    ]);
}

public function register(Request $request)
{
    // dd($request);
    $this->validate($request, [
        'inp' => 'bail|required|between:6,20',
        'password' => 'bail|required|between:8,255',
        'nom' => 'bail|required|max:255',
        'prenom' => 'bail|required|max:255',
        'dateNaissance' => 'bail|required|date',
        'tel' => 'bail|required|digits_between:10,20',
    ]);

    $medcine = new Medcine();
    // $specialite = new Specialite();
    $specialiteMedcine = new SpecialiteMedcine();

    $medcine->inp = $request->input('inp');

    $value = $request->input('password');
    bcrypt($value);
    $medcine->password = bcrypt($value);

    $medcine->email = $request->input('email');
    $medcine->nom = $request->input('nom');
    $medcine->prenom = $request->input('prenom');
    $medcine->dateNaissance = $request->input('dateNaissance');
    $medcine->lieuNaissance = $request->input('lieuNaissance');
    $medcine->tel = $request->input('tel');
    $medcine->genre = $request->input('genre');
    $medcine->adress = $request->input('adress');

    $specialiteMedcine->specialite_id = $request->input('Specialite');

    $medcine->save();

    $specialiteMedcine->medcine_id = $medcine->id;
    $specialiteMedcine->save();
  }
}

1 Ответ

0 голосов
/ 24 апреля 2020

Вы можете просто написать свой код перенаправления в конце метода Register. Средства:

public function register(Request $request)
{
    $this->validate($request, [
        'inp' => 'bail|required|between:6,20',
        'password' => 'bail|required|between:8,255',
        'nom' => 'bail|required|max:255',
        'prenom' => 'bail|required|max:255',
        'dateNaissance' => 'bail|required|date',
        'tel' => 'bail|required|digits_between:10,20',
    ]);

    $medcine = new Medcine();
    // $specialite = new Specialite();
    $specialiteMedcine = new SpecialiteMedcine();

    $medcine->inp = $request->input('inp');

    $value = $request->input('password');
    bcrypt($value);
    $medcine->password = bcrypt($value);

    $medcine->email = $request->input('email');
    $medcine->nom = $request->input('nom');
    $medcine->prenom = $request->input('prenom');
    $medcine->dateNaissance = $request->input('dateNaissance');
    $medcine->lieuNaissance = $request->input('lieuNaissance');
    $medcine->tel = $request->input('tel');
    $medcine->genre = $request->input('genre');
    $medcine->adress = $request->input('adress');

    $specialiteMedcine->specialite_id = $request->input('Specialite');

    $medcine->save();

    $specialiteMedcine->medcine_id = $medcine->id;
    $specialiteMedcine->save();

    return redirect(route('your-route-name'));
  }

В последней строке: return redirect(route('your-route-name'));

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...