Laravel-datatables: Datatables.phpのforeach()に無効な引数が指定されました(57行目)

作成日 2018年04月17日  ·  9コメント  ·  ソース: yajra/laravel-datatables

問題または機能のリクエストの概要

anyDataRouteを呼び出すとエラーが発生します。 ネットワークインスペクターを介して、php職人のキャッシュをクリアしました。

ErrorException foreach()に無効な引数が指定されました

Datatables.php(57行目)

問題のコードスニペット

ルート:

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);
    }

}

システムの詳細

  • オペレーティングシステムMACOS 10.11
  • PHPバージョン7.2
  • Laravelバージョン5.4
  • Laravel-Datatablesバージョン7.3
need feedback question

最も参考になるコメント

laravelの設定キャッシュをクリアするだけです。
php artisan config:cache

全てのコメント9件

コードは正常に見えます。 しかし、あなたのバージョンは更新されていないようですか? Datatables.phpはafaik以下のv6.0用ですか? 正しいバージョンであることを再確認してください。

私は同じ問題に直面しています。

バージョン8にアップグレードしました。
composer require yajra/laravel-datatables-oracle:8.*
php artisan vendor:publish --tag=datatables --force

しかし、私はまだエラーが発生しています:

DataTables.phpの51行目のErrorException:
foreach()に無効な引数が指定されました

お知らせ下さい

@ painter10はエラーログの51行datatables.phpは上書きされない可能性があります。 たぶん、設定を手動で削除してから、もう一度公開してみてください。

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

まだチェックしていない場合は、 https://yajrabox.com/docs/laravel-datatables/master/upgradeも参照して

提案をありがとう。 問題は、私が文字通りクイックスタートチュートリアルに従ったため、セットアップを変更する必要があったことだと思います。
Bootstrap / cache内のconfig.phpファイルを削除する必要があり、次にconfig /app.php内で変更しました
から:
Yajra \ Datatables \ DataTablesServiceProvider :: class、
に:
Yajra \ DataTables \ DataTablesServiceProvider :: class、
そして今、anyData()は機能しているようです。
ただし、Imはまだデータテーブルにレコードを表示するのに苦労しています。 ヘッダーのみが表示されます。

laravelの設定キャッシュをクリアするだけです。
php artisan config:cache

@AmirKaftarilaravelのキャッシュをクリアすることで問題を解決できました。 ありがとうございました!

@AmirKaftariすべての賞賛はアッラーによるものです。私が「
みなさん、ありがとうございました。

@AmirKaftari Masha Allah、ありがとうございました

@AmirKaftariありがとう

このページは役に立ちましたか?
0 / 5 - 0 評価

関連する問題

shadoWalker89 picture shadoWalker89  ·  3コメント

nasirkhan picture nasirkhan  ·  3コメント

sangnguyenplus picture sangnguyenplus  ·  3コメント

SGarridoDev picture SGarridoDev  ·  3コメント

ahmadbadpey picture ahmadbadpey  ·  3コメント