0

私のユーザーモデルにはusername、password、category_idの3つのフィールドがあるため、認証すると認証オブジェクトには3つの変数がすべて含まれますが、他のモデルにあるカテゴリの名前を追加したいのですが、次のようになります:

$category = Category::find(Auth::user()->category_id);
$category_name = $category->name;

問題は、Auth::user() オブジェクトに $category_name を追加して、次のようにログに記録されるたびにそれを取得できるのは誰かということです。

Auth::user()->category_name

ログイン時に Session::put("category_name","Category 1") を試しますが、ウィンドウを閉じて最後に閉じたウィンドウで開くと、その変数が削除されます。ユーザーがログインしてからログアウトするまで変数を保存したいのですが、ユーザーがログインしてウィンドウを閉じてからページを再度開いた場合、変数を入力する必要があります

4

2 に答える 2

0

Eloquent アクセサーを使用できます

ユーザーモデルで

 public function setCategoryNameAttribute()
 {
    $categoryID = $this->category_id;
    $category = Category::find($categoryID);
    return $category->name;
 }

次のようなカテゴリ名にアクセスできます

Auth::user()->category_name
于 2016-05-10T05:15:05.387 に答える