调用anyData路由时出错。 通过网络检查器,我清除了php artisan缓存。
在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 /缓存中删除config.php文件,然后在config / app.php中将其更改
从:
Yajra \ Datatables \ DataTablesServiceProvider :: class,
至:
Yajra \ DataTables \ DataTablesServiceProvider :: class,
现在anyData()似乎可以工作了。
但是,Im仍在努力在数据表中显示记录。 仅标题可见。
只需清除laravel的配置缓存。
PHP的工匠配置:缓存
@AmirKaftari我可以通过清除laravel缓存来解决此问题。 谢谢!
@AmirKaftari所有赞美归功于阿拉,我用“ php artisan config:cache”完成了问题
谢谢大家。
@AmirKaftari Masha Allah,非常感谢
@AmirKaftari谢谢
最有用的评论
只需清除laravel的配置缓存。
PHP的工匠配置:缓存