2016-05-16 8 views
0

これはこのquestionの拡張です。私は、私のLaravelプロジェクトにもう1つのユーザテーブルadminを追加して、複数の認証のための受け入れられた回答に従おうとしています。私は彼が言ったようにすべてのことをやって、admin modelの警備員、コントローラ、ミドルウェア、ルートを追加しました。Laravelで複数の認証のための登録機能を追加するには?

Route::group(['middleware' => ['web']], function() { 
#Route::auth(); 
Route::get('web-login', 'Auth\[email protected]'); 
Route::post('web-login', ['as'=>'web-login','uses'=>'Auth\[email protected]']); 

Route::get('/admin/login','AdminAuth\[email protected]'); 
Route::post('/admin/login','AdminAuth\[email protected]'); 
Route::get('/admin/logout','AdminAuth\[email protected]'); 

// Registration Routes... 
Route::get('admin/register', 'AdminAuth\[email protected]'); 
Route::post('admin/register', 'AdminAuth\[email protected]'); 

Route::get('/admin', '[email protected]'); 
Route::get('/', function() { 
return view('welcome'); 
}); 

そしてAdminAuth/AuthController.php

public function showLoginForm() 
{ 
    if (view()->exists('auth.authenticate')) { 
     return view('auth.authenticate'); 
    } 

    return view('admin.auth.login'); 
} 
public function showRegistrationForm() 
{ 
    return view('admin.register'); 
} 
私は routes.phpにあらかじめ設定されている locolhost/admin/registerを入力し、登録のための情報を入力したときしかし、私はその質問に応じ routes.php考える View [admin.auth.register] not found.のエラーを得ました

ちょうどshowLoginFormが定義されていますが、register関数は定義されていません。私はそれをどのように定義すべきか知っていますか?前もって感謝します!

EDIT:

public function register(Request $request) 
{ 
    $validator = $this->validator($request->all()); 

    if ($validator->fails()) { 
     $this->throwValidationException(
      $request, $validator 
     ); 
    } 

    Auth::login($this->create($request->all())); 

    return redirect($this->redirectPath()); 
} 
をしかし、私は NotFoundHttpExceptionエラーを得た:ここ

は、私が試したものです。あなたはそれを知っていますか?ありがとう!!!

答えて

0

「admins」という表がないというエラーが表示されます。モデルの正しい値に変更するか、テーブルの値を変更してください。

認証システムがコレクションではなく1つの管理(ユーザー)レコードを読み込もうとしているため、制限1がSQLに追加されます。

+0

あなたの答えをありがとう!しかし実際には 'Admin.php'ファイルとそれに対応するマイグレーションファイルがあります。私は 'php artisan migrate'を入力します。出力はマイグレーションするものではありません。もっと確認するには?ありがとう! – user5779223

+0

SQLツールを使用してデータベースに接続し、テーブル管理者が存在するかどうか確認できますか?私はMySQLのワークベンチを使用していますが、他のどのようなものでもかまいません - navicat、sqlyog、phpmyadminなど – MaGnetas

+0

ホームステッドで使えるものは? – user5779223

関連する問題