私は、生徒のレコードを表示することを目的とするアプリケーションに取り組んでいます。明らかに、私は生徒を選択する必要があります。 学生のIDをグローバル変数などに格納する方法を知りたいです。どのコントローラやビューからでもアプリケーションを使用できるようにするには、アプリケーションのユーザーが別のレコードを閉じるか別のレコードを表示すると、この変数には新しいIDがロードされます。laravelでアプリケーション全体の変数を維持する
どのようにすればよいでしょうか
私は、生徒のレコードを表示することを目的とするアプリケーションに取り組んでいます。明らかに、私は生徒を選択する必要があります。 学生のIDをグローバル変数などに格納する方法を知りたいです。どのコントローラやビューからでもアプリケーションを使用できるようにするには、アプリケーションのユーザーが別のレコードを閉じるか別のレコードを表示すると、この変数には新しいIDがロードされます。laravelでアプリケーション全体の変数を維持する
どのようにすればよいでしょうか
ここに概念とアイデアがあります。 各学生データを保存していることを考慮すると、各学生は自分のアカウントにログインするためのユーザー名とパスワードが必要です。
だから、あなたが望むものを今
Auth::student()->id; // For logged in user we do Auth::user()->id;
のように認証されたユーザのIDを取得すると、AppServiceProvider
を編集する必要があり、このため、ブート機能では、すべてのコントローラとビューにグローバルに、アクセスこのIDを共有することです認証されたユーザーを取得し、以下のようにグローバルに共有します。
public function boot()
{
$studentID = Auth::student()->id; // grab the ID you want to share globally
view()->share('studentID', $studentID);
}
使用しているモデルをインポートするようにしてください。このようにアクセスすると
session(['studentID'=>Auth::student()->id]);
:
session('studentID');
は今、あなたは、グローバルに使用できる
session
機能を試してみて任意の場所この
{{ $studentID }} //this will echo the authenticated student ID
のように認証された学生のIDにアクセスすることができますそして、ビュー:
{{ session('studentID') }}
セッションを使用します。 laravel docsを確認してください – Lasith
「どのコントローラーまたはビューからでも使用する」が暗い道を下ろし始めます。編集中のレコードのコンテキストを明示的に維持する方がはるかに優れています(現在のユーザーのコンテキストが適している)。この「グローバル」ルートを下ることは、混乱し疲れた労働者がいる古いスパゲッティ工場で終わります。 – user2864740