2016-11-21 118 views
1

我收到評論分頁。我需要檢查,如果我有一個評論的ID,然後打開頁面的評論是在這裏是我的代碼:如何打開頁面的特定頁面?

public function show_comments(Request $request) { 
    $cmnt_id = $request->input('cmnt_id'); 
    if (isset($cmnt_id)){ 
     // I need to get all comments paginated but start from the page that $cmnt_id is in it 
    } else { 
     // starts from page 1 
     $comments = Cmnt_tb::paginate(10); 
    } 
    return View('show_cmnts', compact('comments')); 
} 

我怎麼能這樣做?任何想法?

我想我必須建立一個新的URL並重定向到它。

回答

1

也許有更好的解決方案,但我想這樣的事情會爲你工作:

public function show_comments(Request $request) { 
    $cmnt_id = $request->input('cmnt_id'); 
    $perPage = 10; 
    if (isset($cmnt_id)){ 
     // Get row number. 
     $rowNumber = Cmnt_tb::where('id', '<=', $cmnt_id)->count(); 
     // Get page. 
     $page = ceil($rowNumber/$perPage); 
     return redirect('show-comments-url?page='.$page); 
    } else { 
     $comments = Cmnt_tb::paginate($perPage); 
     return view('show_cmnts', compact('comments')); 
    } 
} 
+1

大... THX ..給予好評 – stack

+0

只有一兩件事,什麼是'表演,評論,url'?我應該在'routes.php'中定義新的東西嗎?或者我應該創建一個新的控制器? – stack

+0

@stack不,它只是分頁第一頁的URL(沒有「?page = 2」部分)。 –