2016-03-17 37 views
0

我在Laravel遇到了一個問題。我正在用Laravel和Ajax構建「加載更多」系統的註釋,並使用Session變量來計算和跳過已加載的行。但由於某些原因,我的會話變量不會持續下去,對不明原因(嘗試整個一天來解決這個)..確定這裏是一些代碼:無法更新Laravel會話變量?

public function load_more() { 

      $comments = Comments::whereid(Input::get('article_id'))->orderBy('id','DESC')->skip(Session::get('loaded')->take(12)->get(); 

      Session::set('loaded', Session::get('loaded') + 12) ; 

      return \Response::json($comments); 
    } 

因此,大家可以看到我試圖遞增變量每次調用。但變量始終保持不變..當我做另一個變量,例如Session::set('another', Session::get('loaded') + 12) ; 它實際上得到了總結,我有這個變量的總和..但爲什麼它不能更新自己?

+0

你試過'會議::設置( '裝',會議::拉( '裝')+ 12) ;'這可能是Laravel不想覆蓋已經獲得的會話密鑰的問題。 'pull'應該刪除並返回值 - 這意味着您可以將密鑰重置爲新值。 – jakehallas

+0

剛剛嘗試..結果相同 – Nikanor

+1

您正在返回一個json響應。如果您在視圖中查看Session('loaded')',則可能需要刷新頁面才能看到效果。你忘了這麼做嗎?在最瘋狂的可能情況下 –

回答

0

解決了前端使用Jquery全局計數器的問題,我在每個請求上都將GET參數作爲GET參數發送,而不是使用會話變量。仍然不知道會話有什麼問題,可能是我的Laravel安裝中存在一些錯誤。

0

如果你擁有了laravel 5.2 probleme是你把你的路線成組網絡

Route::group(['middleware' => ['web']], function() { 

      PUT YOUR ROUTE HERE 

}