obtendo erro ao chamar anyData Route. através do inspetor de rede, limpei o cache do artesão php.
em Datatables.php (linha 57)
Rotas:
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);
}
}
Seu código parece bom. No entanto, parece que sua versão pode não estar atualizada? Datatables.php
é para v6.0 abaixo do afaik? Por favor, verifique se você tem a versão correta.
Estou enfrentando o mesmo problema.
Acabei de atualizar para a versão 8, com:
composer require yajra/laravel-datatables-oracle:8.*
php artisan vendor:publish --tag=datatables --force
mas ainda estou recebendo o erro:
ErrorException em DataTables.php linha 51:
Argumento inválido fornecido para foreach ()
Por favor informar
@ painter10 com base na linha 51 do log de erros, a nova configuração datatables.php
pode não ser substituída. Tente excluir a configuração manualmente e publique novamente.
$builders = config('datatables.builders');
...
foreach ($builders as $class => $engine) {...
Veja também https://yajrabox.com/docs/laravel-datatables/master/upgrade se você não tiver verificado ainda.
Obrigado pela sugestão. Acho que o problema foi que segui literalmente o tutorial de Início Rápido, então foi necessário modificar a configuração, a saber:
Eu tive que deletar o arquivo config.php no Bootstrap / cache, então no config / app.php eu mudei
a partir de:
Yajra \ Datatables \ DataTablesServiceProvider :: class,
para:
Yajra \ DataTables \ DataTablesServiceProvider :: class,
e agora anyData () parece funcionar.
No entanto, ainda estou lutando para exibir os registros na tabela de dados. Somente cabeçalhos são visíveis.
apenas limpe o cache de configuração do laravel.
php artisan config: cache
@AmirKaftari Eu poderia resolver o problema limpando o cache do laravel. Obrigado!
@AmirKaftari Todos os elogios são para Alá, o problema que terminei com "php artisan config: cache"
Obrigado a todos vocês..
@AmirKaftari Masha Allah, muito obrigado
@AmirKaftari obrigado
Comentários muito úteis
apenas limpe o cache de configuração do laravel.
php artisan config: cache