Метод [sendEmail] не существует

Я новичок в 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] не существует.

Пожалуйста, помогите мне, спасибо

-1

Решение

$this->sendEmail($user,$activation->code); пытается вызвать метод, который должен существовать где-то, но не находит его.

Вы можете просто определить функцию где-нибудь со всеми желаемыми логиками. например

private function SendEmail($user, $activation->code) {
// your logic goes here
}

Надеюсь, что это решит вашу проблему ….

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]