2016-06-14 18 views
1

タイムスタンプをページに渡しています。基本的に私がやっていることは、私のコントローラで現在の時刻を取得し、それをビューに渡すことです。しかし、私が持っている問題は、タイムスタンプがビュー内でレンダリングされた後で、ページをリフレッシュすると別の時間がかかることです。だからとにかくタイムスタンプだけを表示し、ページをロードすることによって変更を許可しないようにしていますか?事前のおかげで:phpかlaravelでタイムスタンプを一度だけ宣言するには?

は、ここに私のコードです:

HomeController.php

public function orderingSubmissionReceipt() 
{ 
    date_default_timezone_set('MST7MDT'); 
    $currentDateTime = date("F j, Y H:i:s"); 

    return view('order-summary', [ 
     'currentDateTime' => $currentDateTime 
    ]); 
} 

ため、summary.blade.php

<div style="text-align: center;"><?php echo $currentDateTime ?></div> 
+1

そのセッションの保存では、働いていた – Dale

答えて

3

確かに、使用セッション:

if(!session('current_date_time')) { 
    session(['current_date_time', date("F j, Y H:i:s")]); 
} 

return view('order-summary', [ 
    'currentDateTime' => session('current_date_time') 
]); 

これは、セッションで現在のdatetimeを初めて設定し、そこから同じ値を使用します。

あなたがここにLaravelのセッション管理についての詳細を読むことができます:

https://laravel.com/docs/5.1/session

+0

を設定するが、私はセッション時間をログアウトし、再度ログインした後にすることはまだない場合にのみ、同じ。ログイン後にセッションをクリアするには?ありがとう! – progx

+0

私が提供したLaravelドキュメンテーションのリンクを読みましたか?あなたは本当にこのすべてについてのドキュメントに精通しているべきです。あなたの質問に答えるために、 'session() - > flush()'はセッションからのすべてのデータをクリアします。もちろん、保存されたデータをクリアするには、 'session() - > forget( 'current_date_time');を実行することもできます。 – Here2Help

+0

ありがとう!私はあなたの答えを正しいものとして受け入れています。 – progx

関連する問題