Laravel-admin 后台 grid () 方法,可以加查询条件吗?

protected function grid()
    {
        $grid = new Grid(new User);

        $grid->id('ID');
        $grid->name('用户名');
        $grid->name('邮箱');
        $grid->created_at('注册时间');
        $grid->tools(function ($tools) {
            // 禁用批量删除按钮
            $tools->batch(function ($batch) {
                $batch->disableDelete();
            });
        });

        return $grid;
    }

Laravel-admin后台grid()方法,可以加查询条件吗?

这段代码,会渲染出用户列表,在列表展示时,根据登录用户的id,展示不同数量;例如admin用户可以看到全部用户,operator用户只能看到1条?

if (Admin::user()->id == 1) {
    $grid->model()->where('id', '>', '0')->orderBy('id', 'desc')->offset(0)->limit(1);
    where()和orderBy()条件正常,后面的offset()和limit()无效果。
}
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
最佳答案

file

可禁用分页使limit()生效

$grid->model()->where('id', '>', '0')->orderBy('id', 'desc')->offset(0)->limit(1);
$grid->disablePagination();
4年前 评论
讨论数量: 5

@james_xue $grid->model()->where('id', '>', '0')->orderBy('id', 'desc')->offset(0)->limit(1);
where和orderBy起作用,但是offset和limit不起作用。

4年前 评论
自由与温暖是遥不可及的梦想

官方文档 值得你拥有

4年前 评论

use Encore\Admin\Facades\Admin;

$username = Admin::user()->username;

if($username != 'admin'){

$grid->model()->where('筛选条件');

}

4年前 评论

file

可禁用分页使limit()生效

$grid->model()->where('id', '>', '0')->orderBy('id', 'desc')->offset(0)->limit(1);
$grid->disablePagination();
4年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!