dcat-admin icon indicating copy to clipboard operation
dcat-admin copied to clipboard

表格获取参数值报错,Property [item_id] does not exist on this collection instance.

Open jiangfeiyu opened this issue 4 years ago • 6 comments

  • Laravel Version: 7.x.0
  • PHP Version: 7.3.0
  • Dcat Admin Version: #2.0.20

Description:

升级2.0后,Grid::make(new ItemAdd(),.......) ,ItemAdd是数据仓库 $grid->column() 使用 $this->item_id 获取值的时候报错, (1.x 版本是正常的)

Property [item_id] does not exist on this collection instance.

Steps To Reproduce:

jiangfeiyu avatar Mar 12 '21 02:03 jiangfeiyu

请贴一下代码

jqhph avatar Mar 12 '21 06:03 jqhph

protected function grid()
    {
        $propArray = GameProps::all()->pluck('name_cn', 'prop_id')->toArray();
        $propArray = $propArray + config('prop.dev');
        return Grid::make(new ItemAdd(), function (Grid $grid) use ($propArray) {

            $this->columnSetting($grid);
            $grid->column('user_id', '玩家ID');
            $grid->column('account', '账号');
            $grid->column('lord_lvl', '教父等级');
            $grid->column('source_id', '来源')->display(function ($source_id) {
                return isset(config('source.dev')[$source_id]) ? config('source.dev')[$source_id] : '/';
            });
            $grid->column('item_id', '道具')->display(function ($item_id) use ($propArray) {
                $label = '<span class="label btn-success">获取</span>&nbsp;&nbsp;';
                $propName = isset($propArray[$item_id]) ? $propArray[$item_id] : "/";
                return $label . $propName . '【' .$this->item_id . '】';
            });
            $grid->column('event_time', '时间');
        });
    }

jiangfeiyu avatar Mar 12 '21 07:03 jiangfeiyu

Repository get部分

 public function get(Grid\Model $model)
    {
        // 获取每页显示行数
        $paramsOrigin = $params = $model->filter()->input();
        unset($params['_pjax']);
        unset($params['event_time.start']);
        unset($params['event_time.end']);
        //没有参数
        if (!$params) {
            return [];
        }

        $this->params += $paramsOrigin;
        $page = [];
        $data = TgaService::build($this->params, $page);   //返回构建号的数据
        return $data;
    }

jiangfeiyu avatar Mar 12 '21 07:03 jiangfeiyu

$data

$data的数据格式是什么样的?看起来是数据格式有问题

jqhph avatar Mar 12 '21 07:03 jqhph

image

jiangfeiyu avatar Mar 12 '21 07:03 jiangfeiyu

$data

$data的数据格式是什么样的?看起来是数据格式有问题

可是在1.7版本上 又是正常的

jiangfeiyu avatar Mar 12 '21 07:03 jiangfeiyu