2017-01-16 18 views
-1

私はlaravel 5.3を初めて使用しています。登録コントローラで、私は認証のためにcartalystのセンチネルを使用しています方法[sendEmail]が存在しません

Web.phpは

Route::post('/register','[email protected]'); 
Route::get('/activate/{email}/{activationCode}' , '[email protected]'); 

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(); 
} 

authenticateメソッド -

public function activate($email,$activationCode){ 

    $user = User::whereEmail($email)->first(); 

    $sentinelUser = Sentinel::findById($user->id); 

    if(Activation::complete($sentinelUser, $activationCode)){ 

     return redirect('/'); 

    } 
} 

this is the image of complete code of registrationController

私はボタンを提出しようとしたときに、私はこのエラーました - Controller.phpライン82で

BadMethodCallException:方法は[のsendEmail]は存在しませんが。

私を助けてください、おかげ

+0

さて、あなたRegistrationControllerで '関数sendEmail'はありますか? – aynber

+0

はい登録機能にsendEmail()関数があります –

+0

RegistrationControllerの完全なコードを投稿できますか? – Paras

答えて

1


$this->sendEmail($user,$activation->code);はどこか、既存のことになっているメソッドを呼び出すしようとしているが、それはそれを見つけていません。

あなたは、必要なすべてのロジックのどこかに機能を定義することができます。例えばこれはあなたの問題を解決します

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

希望....