2016-05-29 9 views
1

データベースから情報を取り出し、ログインしたユーザーに基づいてその情報をフィルタリングし、適切な情報をビューに表示してメニューを構築しますユーザーグループ|ロール|アクセス許可に基づいています。データベースから情報を取得し、最初に出力するのは

これは、アプリケーションでユーザーがログインした直後に発生する必要があります。私はthis packageを使用しているメニューのために、私はCartalyst Sentinelを使っています。

私はMiddlewareを使用することができましたが、その目的はDBから情報を取得して出力またはView Composersをビルドすることではないと思いますが、レイアウトやヘッダーが呼び出されたときにこれを常に実行したくないほぼすべての時間または私が言うか、または私が使用することができるすべての時間Service Provider私はこの最新について多くを知らない。

この情報を持つ:この場合、あなたは何をしますか?メニューを作成してlayoutまたは[email protected]にどのように出力しますか?ここで

+0

を助けるかもしれない願っていますもう一度ロードしてください。上記のすべてが起こらないでしょう(現在のモデルへの変更が起こるまで、いくつかの方法があります)。 –

+0

@AchrafKhouadjaそれは私の質問です。私が知らないのは、その情報をキャッシュする方法です。小さな例を書くことができます完璧になります – ReynierPM

+1

あなたは仲間に行く –

答えて

0

は、単純なexemple

であるあなたが彼の役割を持つユーザーを検索し、その結果今

public function test() { 
//getting authenticated user with roles 
$userwithroles = Cache::remember('users-'.Auth::user()->id, 60, function() { 
return User::with('roles')->where('id', Auth::user()->id)->get(); 
}); 
    return View('home')->with('$data',$userwithroles); 
} 

をキャッシュしたいとします、クエリはあなたができる、唯一の1時間ごとに実行されますあなたもこのを確認することができます

Caching in laravel

をより多くのトリックを学び、他のものを冷却するためにlaravelのドキュメントを見て(そのlaravel 4が、そのほぼ同じ)

私は、これはあなたが、データベースから情報を取得し、それをフィルタリングして、必要な今までに何をすべきか、それをキャッシュし、偶数ページならばいけない理由

関連する問題