簡體   English   中英

使用數組對象的 Laravel Yajra 數據表服務

[英]Laravel Yajra Datatable Service using Array Object

我想對我的數據表使用對象數組而不是查詢,但它不起作用,因為它不是來自查詢集合。

我的陣列就像這樣

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.

我該如何解決這個錯誤? 謝謝你

你能不能發一下問題。 詳細表示您如何使用 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使用數據的最佳方法

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM