【问题标题】:Laravel Yajra Datatable Service using Array Object使用数组对象的 Laravel Yajra 数据表服务
【发布时间】:2019-02-22 02:08:01
【问题描述】:

我想对我的数据表使用对象数组而不是查询,但它不起作用,因为它不是来自查询集合。

我的数组就是这样

public function query(){
    $santri = DataSantri::select('data_santri.*','id_vc')
                            ->join('vc','data_santri.id_user','=','vc.id_user')
                            ->whereIn('status_kegiatan',['ziyadah','mutqin','tahsin'])
                            ->get();
    foreach($santri as $row){
        $pl = PaymentList::where('is_active',1)
                           ->where('angkatan',$row->angkatan)
                           ->where('payment_list.payment_time','bulanan')
                           ->get();
        $totalPl = DB::table('payment_list')
                                ->where('is_active',1)
                                ->where('angkatan',$row->angkatan)
                                ->where('payment_list.payment_time','bulanan')
                                ->sum('payment_price');
        $pa = PaymentAddon::where('nis',$row->nis)->get();
        $totalPa = DB::table('payment_addon')
                                    ->where('nis',$row->nis)
                                    ->sum('payment_price');
        $data[] =  array(
            'nis' => $row->nis,
            'id_vc' => $row->id_vc,
            'nama_lengkap_santri' => $row->nama_lengkap_santri,
            'jk' => $row->jk_santri,
            'data_pembayaran_bulanan' => $pl,
            'data_pembayaran_tambahan' => $pa,
            'total' => $totalPl + $totalPa
        );
    }
    $collect = collect($data);
    return $this->applyScopes($collect);

}

它返回这样的错误

Method Illuminate\Support\Collection::getQuery does not exist.

我该如何解决这个错误?谢谢你

【问题讨论】:

    标签: php laravel datatable yajra-datatable


    【解决方案1】:

    你能发个问题吗?详细说明您如何使用 Yajra 数据表和所有内容。

    Datatable 以对象格式获取数据,而您以数组格式提供,因此请将其更改为对象。

    public function query(){
    $santri = DataSantri::select('data_santri.*','id_vc')
                            ->join('vc','data_santri.id_user','=','vc.id_user')
                            ->whereIn('status_kegiatan',['ziyadah','mutqin','tahsin'])
                            ->get();
    $data = []; // initialize empty array
    foreach($santri as $row){
        $pl = PaymentList::where('is_active',1)
                           ->where('angkatan',$row->angkatan)
                           ->where('payment_list.payment_time','bulanan')
                           ->get();
        $totalPl = DB::table('payment_list')
                                ->where('is_active',1)
                                ->where('angkatan',$row->angkatan)
                                ->where('payment_list.payment_time','bulanan')
                                ->sum('payment_price');
        $pa = PaymentAddon::where('nis',$row->nis)->get();
        $totalPa = DB::table('payment_addon')
                                    ->where('nis',$row->nis)
                                    ->sum('payment_price');
        $data[] =  (object) array(
            'nis' => $row->nis,
            'id_vc' => $row->id_vc,
            'nama_lengkap_santri' => $row->nama_lengkap_santri,
            'jk' => $row->jk_santri,
            'data_pembayaran_bulanan' => $pl,
            'data_pembayaran_tambahan' => $pa,
            'total' => $totalPl + $totalPa
        );
    }
    
    return $this->applyScopes($data);
    }
    

    希望对您有所帮助。如果这不起作用,请回复我,所以我会告诉你使用 Yajra

    使用数据表的最佳方法

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-02-15
      • 1970-01-01
      • 2016-09-17
      • 2018-06-19
      • 1970-01-01
      • 2020-11-27
      • 2022-12-10
      • 1970-01-01
      相关资源
      最近更新 更多