2017-08-10 24 views
0

私は、ユーザーがログインするときにプロジェクト全体で使用したいカスタム値をいくつか持っています。私はコントローラに関数を書いていますが、毎回コードを少し長くすることができます。関数を呼び出すのではなく、Auth::user()にカスタム値を割り当てたいので、プロジェクトのどこでも使用できます。私は、コードの下にそれを試してみましたが、それはLaravelのAuth :: user()にカスタム値を追加する方法

public static function getUserDetailById($id){ 
     //Do Something and assign value to $custom_val 
     Auth::user()->custom = $custom_val; 
} 


を動作しませんが、それは任意のコントローラやビューで作業していません。私はAuth::user()のカスタム値をチェックしようとしましたが、それはありません。

テーブルに新しい列を追加せずにAuth::user()にカスタム値を追加する方法はありますか?

答えて

0

非常に簡単です。そのためにアクセサを作成することができます。

のApp \ User.php

public function getCustomAttribute() 
{ 
    return 'Custom attribute'; 
} 

、あなたはどこにでも使用してアクセスすることができます

echo Auth::user()->custom; 

さらに詳しい情報:

https://laravel.com/docs/5.4/eloquent-mutators#defining-an-accessor

0

をごUserモデルにcustomを追加$appendsアレイ。

protected $appends = [ 'custom' ]; 
関連する問題