我正在开发一个应用程序,我从 Mysql 数据库检索数据并使用 Laravel 和 Datatable 显示它,我不断收到此错误:
"Class 'Datatables' not found"
我尝试了不同版本的数据表,但没有一个有效,并且我不断收到相同的错误。
这是代码:
?php
namespace App\Http\Controllers;
use Validator;
use Illuminate\Http\Request;
use App\Student;
use Datatables;
class AjaxdataController extends Controller
{
function index()
{
return view('student.ajaxdata');
//http://127.0.0:8000/ajaxdata
}
function getdata()
{
$students = Student::select('id', 'first_name', 'last_name');
return Datatables::of($students)//error
->addColumn('action', function($student){
你需要让php知道这个类位于哪里。为此,请将以下
use
语句添加到文件顶部:
use Yajra\DataTables\DataTables;
现在您可以在代码中使用
DataTables
。另请确保使用正确的大小写。
更新:
您需要先实际安装该包,然后才能引用它。查看有关如何安装此软件包的文档:https://yajrabox.com/docs/laravel-datatables/master
如果你使用
https://github.com/yajra/laravel-datatables
请运行:
php artisan vendor:publish --provider="Yajra\DataTables\DataTablesServiceProvider"
您可以重新安装它。但这次使用:
composer require yajra/laravel-datatables:^10.*
或 (其中任何一个)
composer require yajra/laravel-datatables-oracle:"^10.3.*"
或
composer require yajra/laravel-datatables-oracle:"^10.*"
使用 * 将安装最新版本。
然后在composer.josn文件中,检查: 如果
"Yajra\\DataTables\\": "vendor/yajra/laravel-datatables/src"
在 中可用
"autoload": {
"psr-4": {
}
}
就像这个例子: 如果没有,则像示例一样粘贴
"vendor/yajra/laravel-datatables/src"
。
"autoload": {
"psr-4": {
"App\\": "app/",
"Yajra\\DataTables\\": "vendor/yajra/laravel-datatables/src"
}
}
然后运行:
php artisan list
希望你会找到 datatables 包。
现在享受代码..