obtenir une erreur lors de l'appel anyData Route. grâce à l'inspecteur de réseau, j'ai effacé le cache d'artisan de php.
dans Datatables.php (ligne 57)
Itinéraires:
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);
}
}
Votre code semble correct. Cependant, il semble que votre version ne soit pas mise à jour? Datatables.php
est pour la v6.0 ci-dessous afaik? Veuillez vérifier que vous avez la bonne version?
Im face au même problème.
Je viens de passer à la version 8, avec:
composer require yajra/laravel-datatables-oracle:8.*
php artisan vendor:publish --tag=datatables --force
mais je reçois toujours l'erreur:
ErrorException dans DataTables.php ligne 51:
Argument non valide pour la fonction foreach()
s'il vous plaît donnez votre avis
@ painter10 basé sur la ligne 51 du journal des erreurs, la nouvelle configuration datatables.php
peut ne pas être écrasée. Essayez peut-être de supprimer la configuration manuellement, puis de publier à nouveau.
$builders = config('datatables.builders');
...
foreach ($builders as $class => $engine) {...
Voir également https://yajrabox.com/docs/laravel-datatables/master/upgrade si vous ne l'avez pas encore vérifié.
Merci pour la suggestion. Je pense que le problème était que j'ai suivi le tutoriel de démarrage rapide à la lettre, il était donc nécessaire de modifier la configuration, à savoir:
J'ai dû supprimer le fichier config.php dans Bootstrap / cache, puis dans le config / app.php j'ai changé
de:
Yajra \ Datatables \ DataTablesServiceProvider :: class,
à:
Yajra \ DataTables \ DataTablesServiceProvider :: class,
et maintenant anyData () semble fonctionner.
Cependant, j'ai toujours du mal à afficher les enregistrements dans le datatable. Seuls les en-têtes sont visibles.
effacez simplement le cache de configuration de laravel.
config artisan de php
@AmirKaftari Je pourrais résoudre le problème en effaçant le cache laravel. Merci!
@AmirKaftari Tous les éloges sont dus à Allah, le problème j'en ai fini avec "php artisan config: cache"
Merci à vous tous..
@AmirKaftari Masha Allah, merci beaucoup
@AmirKaftari merci
Commentaire le plus utile
effacez simplement le cache de configuration de laravel.
config artisan de php