Laravel-datatables: Argumen tidak valid diberikan untuk foreach () di Datatables.php (baris 57)

Dibuat pada 17 Apr 2018  ·  9Komentar  ·  Sumber: yajra/laravel-datatables

Ringkasan masalah atau permintaan fitur

mendapatkan kesalahan saat memanggil Rute anyData. melalui inspektur jaringan, saya membersihkan cache tukang php.

ErrorException Argumen tidak valid diberikan untuk foreach ()

di Datatables.php (baris 57)

Potongan kode masalah

Rute:

Route::get('/datatable','DatatablesController<strong i="11">@getIndex</strong>');
Route::get('/anyData','DatatablesController<strong i="12">@anyData</strong>')->name('datatables.data');

<?php

namespace App\Http\Controllers;


use Yajra\Datatables\Datatables;
use Illuminate\Support\Facades\DB;

class DatatablesController extends Controller
{
    /**
     * Displays datatables front end view
     *
     * <strong i="13">@return</strong> \Illuminate\View\View
     */
    public function getIndex()
    {
        return view('reports.testdatatable');
    }

    /**
     * Process datatables ajax request.
     *
     * <strong i="14">@return</strong> \Illuminate\Http\JsonResponse
     */
    public function anyData()
    {
       return Datatables::of(User::query())->make(true);
    }

}

Detail sistem

  • Sistem Operasi MAC OS 10.11
  • Versi PHP 7.2.1
  • Laravel Versi 5.4.0
  • Laravel-Datatables Versi 7.3.0
need feedback question

Komentar yang paling membantu

cukup hapus cache konfigurasi laravel.
php artisan config: cache

Semua 9 komentar

Kode Anda terlihat bagus. Namun, sepertinya versi Anda mungkin tidak diperbarui? Datatables.php adalah untuk v6.0 di bawah afaik? Harap periksa kembali apakah Anda memiliki versi yang benar?

Saya menghadapi masalah yang sama.

Saya baru saja meningkatkan ke versi 8, dengan:
composer require yajra/laravel-datatables-oracle:8.*
php artisan vendor:publish --tag=datatables --force

tapi saya masih mendapatkan kesalahan:

ErrorException di DataTables.php baris 51:
Argumen yang tidak valid diberikan untuk foreach ()

Mohon saran

@ painter10 berdasarkan log kesalahan baris 51, datatables.php config yang baru mungkin tidak ditimpa. Mungkin coba hapus konfigurasi secara manual lalu publikasikan lagi.

$builders = config('datatables.builders');
...
foreach ($builders as $class => $engine) {...

Lihat juga https://yajrabox.com/docs/laravel-datatables/master/upgrade jika Anda belum memeriksanya.

Terima kasih atas sarannya. Saya pikir masalahnya adalah saya mengikuti tutorial Mulai Cepat secara harfiah, jadi perlu untuk mengubah pengaturan, yaitu:
Saya harus menghapus file config.php di Bootstrap / cache, lalu di config / app.php saya ubah
dari:
Yajra \ Datatables \ DataTablesServiceProvider :: class,
untuk:
Yajra \ DataTables \ DataTablesServiceProvider :: class,
dan sekarang anyData () tampaknya berfungsi.
Namun, saya masih berjuang untuk menampilkan catatan di datatable. Hanya tajuk yang terlihat.

cukup hapus cache konfigurasi laravel.
php artisan config: cache

@AmirKaftari Saya dapat menyelesaikan masalah ini dengan membersihkan cache laravel. Terima kasih!

@AmirKaftari Segala puji bagi Allah, masalah saya selesai dengan "php artisan config: cache"
Terima kasih untuk kalian semua ..

@AmirKaftari Masha Allah terima kasih banyak

@Amiraft terima kasih

Apakah halaman ini membantu?
0 / 5 - 0 peringkat

Masalah terkait

hohuuhau picture hohuuhau  ·  3Komentar

alejandri picture alejandri  ·  3Komentar

SGarridoDev picture SGarridoDev  ·  3Komentar

techguydev picture techguydev  ·  3Komentar

jgatringer picture jgatringer  ·  3Komentar