2017-05-22 5 views
0

フロントエンド用のコントローラで自分のユーザのIDを呼び出そうとしています。バックオフィスでは、Auth :: id()はチャームのように機能しますが、私のバックオフィスのコントローラで呼び出そうとすると、user_idがnullにならないというエラーが発生します。 Auth :: id()が動作しないように見えるということです。だから、Laravelはバックオフィスでサインインしているユーザーしか認識していないようだし、なぜか分からない。 フロントエンド用のコントローラでAuth :: id()を呼び出す方法

この

は私のフロントエンドのための私のコントローラの店舗機能である:私は、私はいつも、私はLaravel認証とバックオフィスにログインしてることを確認し保存しようとした

public function store(Request $request) 
    { 
     $optionElection = new OptionElection(); 
     //this returns null 
     $optionElection->user_id = Auth::id(); 
     // this also returns null 
     $optionElection->option = Auth::name(); 
     $optionElection->votes = 0; 
     $optionElection->election_id = $request['election_id']; 
     $optionElection->accepted = 0; 

     if ($optionElection->save()) { 


      return response() 
       ->json($optionElection); 

     } 

    } 

答えて

0

試しました\Auth::id() ? これは私が思うように動作するはずです。

0

これらのヘルパーメソッドは、ユーザーがアクティブにログインしていて、コントローラメソッドがauthミドルウェアでラップされている場合にのみ、認証されたユーザーまたはIDを取得します。そうでない場合、nullを返すだけです。

\Auth::id(); 

auth()->id(); 
+0

まだnullを返します。ログイン後にヘルパーが私のバックオフィスで働くのは奇妙ですが、フロントエンド(これはlaravelコントローラでも作られています)にありません – hxwtch

+0

@hxwtchは 'php artisan route:list'を実行して結果をここに投稿できます?私はこの方法でミドルウェアをチェックしたい。 – Sandeesh

+0

私はここにアップロードしました: https://ibb.co/mAOgiF とhttps://ibb.co/kH8E3F – hxwtch

0

$user = auth()->user();

次いで

$optionElection->user_id = $user->id

+0

これは、 "非オブジェクトのプロパティを取得しようとしています" – hxwtch

関連する問題