Я новичок в Laravel 5.3. Я использую Cartalyst Sentinel для аутентификации
Web.php
Route::post('/register','RegistrationController@register');
Route::get('/activate/{email}/{activationCode}' , 'RegistrationController@activate');
RegistrationController.php
public function register(Request $request){
$user = Sentinel::register($request->all());
$activation = Activation::create($user);
$role = Sentinel::findRoleBySlug('student');
$role->users()->attach($user);
$this->sendEmail($user,$activation->code);
Alert::info('Mail has been sent to activate your account', 'Confirmation Email')->persistent("Close this");
return redirect::back();
}
метод аутентификации в контроллере регистрации —
public function activate($email,$activationCode){
$user = User::whereEmail($email)->first();
$sentinelUser = Sentinel::findById($user->id);
if(Activation::complete($sentinelUser, $activationCode)){
return redirect('/');
}
}
когда я попытался отправить кнопку, я получил эту ошибку —
BadMethodCallException в строке Controller.php 82: Метод [sendEmail] не существует.
Пожалуйста, помогите мне, спасибо
$this->sendEmail($user,$activation->code);
пытается вызвать метод, который должен существовать где-то, но не находит его.
Вы можете просто определить функцию где-нибудь со всеми желаемыми логиками. например
private function SendEmail($user, $activation->code) {
// your logic goes here
}
Надеюсь, что это решит вашу проблему ….
Других решений пока нет …