下面是我的控制器功能,我的表名是User_deposit.if我不使用条件与我的表我可以获得所有页面的确切输出。但如果在我的查询中放置条件,那么我只能得到第一页的结果。
控制器功能:
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个条目我正在获取第一页的记录,而第二个第3页的空记录
答案 0 :(得分: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
这使得代码在我看来更具可读性。