繁体   English   中英

ErrorException compact():未定义变量:Sep - laravel 8

[英]ErrorException compact(): Undefined variable: Sep - laravel 8

请帮我我做了一个图表,但是当我想显示数据时出现问题,为什么它被压缩了?

示例代码 controller:

if(Auth::user()->hasRole('Super Admin')) {
            $user = User::where('id', Auth::user()->id)->first();
            $jumlah_user = User::orderBy('id', 'ASC')->get()->count();

            $data = Verifikasi_tte::join('surat_ttes', 'surat_ttes.id', '=', 'verifikasi_ttes.surat_tte_id')
                ->join('users', 'users.id', '=', 'surat_ttes.user_id')
                ->join('jenis_surat_ttes', 'jenis_surat_ttes.id', '=', 'surat_ttes.jenis_surat_tte_id')
                ->select('surat_ttes.id','surat_ttes.klasifikasi','surat_ttes.no_surat','surat_ttes.tgl_surat','surat_ttes.created_at',
                'jenis_surat_ttes.nama_jenis_surat','users.name','users.opd_id','verifikasi_ttes.status')
                ->get()->groupBy(function($data){
                return Carbon::parse($data->created_at)->format('M');
            });
    
            $months=[];
            $monthCount=[];
            foreach($data as $month => $values){
                $months[]=$month;
                $monthCount[]=count($values);
            }

            return view('dashboard.admins',  compact('user','jumlah_user', ['data'=>$data,'months'=>$months,'monthCount'=>$monthCount] ));
        }

如果转储中有数据转储,那么为什么紧凑部分要求提供 sep 变量很奇怪?

示例js图表:

<script type="text/javascript">
    var _ydata=JSON.parse('{!! json_encode($months) !!}');
    var _xdata=JSON.parse('{!! json_encode($monthCount) !!}');
</script>

这是你应该做的。 不要使用compact ,因为它不能将数组作为参数。 相反,您应该将所有数据作为一个数组传递,当在您的视图文件中访问它时,该数组被分解为各种变量。

将您的代码调整为:

if(Auth::user()->hasRole('Super Admin')) {
            $view_data['user'] = User::where('id', Auth::user()->id)->first();
            $view_data['jumlah_user'] = User::orderBy('id', 'ASC')->get()->count();

            $view_data['data'] = Verifikasi_tte::join('surat_ttes', 'surat_ttes.id', '=', 'verifikasi_ttes.surat_tte_id')
                ->join('users', 'users.id', '=', 'surat_ttes.user_id')
                ->join('jenis_surat_ttes', 'jenis_surat_ttes.id', '=', 'surat_ttes.jenis_surat_tte_id')->select('surat_ttes.id','surat_ttes.klasifikasi','surat_ttes.no_surat','surat_ttes.tgl_surat','surat_ttes.created_at',
                'jenis_surat_ttes.nama_jenis_surat','users.name','users.opd_id','verifikasi_ttes.status')
                ->get()->groupBy(function($data){
                return Carbon::parse($data->created_at)->format('M');
            });
    
            $view_data['months']=[];
            $view_data['monthCount']=[];
            foreach($view_data['data'] as $month => $values){
                $view_data['months'][]=$month;
                $view_data['monthCount'][]=count($values);
            }

            return view('dashboard.admins',  $view_data);
        }

现在在您的视图文件中。 您可以像这样引用每个变量: {{ $user }} {{ $months }} {{ $jumlah_user }}等等

问题未解决?试试以下方法:

ErrorException compact():未定义变量:Sep - laravel 8

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2023 STACKOOM.COM