2015-10-06 68 views
0

下面是我的控制器功能,我的表名是User_deposit.if我不使用條件與我的表我可以得到確切的輸出爲所有pages.but如果條件在我的查詢然後我只能得到第一頁的結果。Laravel Nayjest datagrid分頁不工作從第二頁

控制器功能:

public function admin_user_dep_report(){ 

    $id = Input::get('name_id'); 

    $cfg = (new GridConfig()) 
     ->setDataProvider(new EloquentDataProvider(\App\User_deposit::query()->where('user_id',$id))) 
     ->setName('user_deposits_page') 
     ->setPageSize(5) 

     ->setColumns([ 
       new IdFieldConfig, 

      (new FieldConfig) 
      ->setName('amount') 
      # will be displayed in table heder 
      ->setLabel('Amount') 

      , 

      (new FieldConfig) 
      ->setName('agent_verified') 
      # will be displayed in table heder 
      ->setLabel('Agent Verified') 
      ->setCallback(function ($val,$row) { 

       $user = $row->getSrc(); 
       return $user->getAgent->first_name; 

      }) 




     ]); 
    $grid = new Grid($cfg); 
    $grid = $grid->render(); 



return view('admin.user_deposit_reports')->with('cfg',$grid); 
} 

查看文件:

<div class="container"> 

     <?php echo $cfg; ?> 


</div> 

注: 我的表中有超過20個條目我收到的第一頁記錄和空記錄的第二第三。 ..頁

回答

1

根據我的經驗,在setName屬性中使用非字母字符並使其過長不起作用。當我在名稱變量中放入空格時,我已經看到了您描述的行爲。

嘗試改變如下:

$cfg = (new GridConfig()) 
    ->setDataProvider(new EloquentDataProvider(\App\User_deposit::query()->where('user_id',$id))) 
    ->setName('user_deposits_page') 
    ->setPageSize(5) 

喜歡的東西:

$cfg = (new GridConfig()) 
    ->setDataProvider(new EloquentDataProvider(\App\User_deposit::query()->where('user_id',$id))) 
    ->setName('userdeposits') 
    ->setPageSize(5) 

另外,儘量把:

use App\User_deposit; 

在你的文件的頂部,然後改變:

\App\User_deposit 

到:

User_deposit 

這使得在我看來代碼更易讀。