anyDataRouteを呼び出すとエラーが発生します。 ネットワークインスペクターを介して、php職人のキャッシュをクリアしました。
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);
}
}
コードは正常に見えます。 しかし、あなたのバージョンは更新されていないようですか? 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ありがとう
最も参考になるコメント
laravelの設定キャッシュをクリアするだけです。
php artisan config:cache