我在我的本地计算机上开发了Laravel Project。 我使用Yajra Pakagebox在其上使用bootstrap数据表。
像这样: 作曲家需要yajra / laravel-datatables-oracle php artisan供应商:发布
然后我将它们全部推送到托管服务器,但它显示如下错误。
(1/1) FatalThrowableError
Class 'Yajra\DataTables\DatatablesServiceProvider' not found
in ProviderRepository.php (line 208)
at ProviderRepository->createProvider('Yajra\\DataTables\\DatatablesServiceProvider')
in ProviderRepository.php (line 144)
at ProviderRepository->compileManifest(array('Illuminate\\Auth\\AuthServiceProvider', 'Illuminate\\Broadcasting\\BroadcastServiceProvider', 'Illuminate\\Bus\\BusServiceProvider', 'Illuminate\\Cache\\CacheServiceProvider', 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider', 'Illuminate\\Cookie\\CookieServiceProvider', 'Illuminate\\Database\\DatabaseServiceProvider', 'Illuminate\\Encryption\\EncryptionServiceProvider', 'Illuminate\\Filesystem\\FilesystemServiceProvider', 'Illuminate\\Foundation\\Providers\\FoundationServiceProvider', 'Illuminate\\Hashing\\HashServiceProvider', 'Illuminate\\Mail\\MailServiceProvider', 'Illuminate\\Notifications\\NotificationServiceProvider', 'Illuminate\\Pagination\\PaginationServiceProvider', 'Illuminate\\Pipeline\\PipelineServiceProvider', 'Illuminate\\Queue\\QueueServiceProvider', 'Illuminate\\Redis\\RedisServiceProvider', 'Illuminate\\Auth\\Passwords\\PasswordResetServiceProvider', 'Illuminate\\Session\\SessionServiceProvider', 'Illuminate\\Translation\\TranslationServiceProvider', 'Illuminate\\Validation\\ValidationServiceProvider', 'Illuminate\\View\\ViewServiceProvider', 'Yajra\\DataTables\\DatatablesServiceProvider', 'Laravel\\Tinker\\TinkerServiceProvider', 'App\\Providers\\AppServiceProvider', 'App\\Providers\\AuthServiceProvider', 'App\\Providers\\EventServiceProvider', 'App\\Providers\\RouteServiceProvider'))
in ProviderRepository.php (line 61)
重要的是我无法在Hosting Server上执行任何命令,因为它是Shared Hosting Server。 我看到许多文章解决了这个问题,但他们都使用“artisan”和“composer”命令。 但我完全不能使用这个命令。 我只能通过FTP将源代码上传到服务器。
答案 0 :(得分:4)
根据您使用的DataTables版本,可能是简单的大写问题。在版本8之后,您应该使用:
var jsonParams = JSON.stringify(params);
$.ajax({
type: "POST",
url: "{{ route('paramUpdate', $aquarium->id) }}",
data: { parameters: jsonParams },
success: function(response) {
console.log(response);
},
error: function() {
console.log("Ajax error");
}
});
在使用版本8之前:
Yajra\DataTables\DataTablesServiceProvider
升级说明参考:https://yajrabox.com/docs/laravel-datatables/master/upgrade#namespace
答案 1 :(得分:1)
适用于v@8.3
Yajra\DataTables\DataTablesServiceProvider::class,
'Datatables' => Yajra\DataTables\Facades\DataTables::class,
答案 2 :(得分:0)
请运行以下命令并尝试:
composer update
composer dump-autoload
php artisan config:cache
php artisan cache:clear
答案 3 :(得分:0)
请尝试以下步骤解决此问题:
答案 4 :(得分:0)
您知道要更改为ftp的所有文件(迁移配置控制器......)
并使用ftp将本地文件替换为服务器
/composer.json
/composer.lock
/bootstrap/*
/storage/framework/cache/*
/storage/framework/views/*
/vendor/composer/*
/vendor/autoload.php
如果问题仍然存在,我需要转发Laravel的版本。 经过测试
php artisan --version
Laravel Framework 5.4.19
答案 5 :(得分:0)
使用插件和按钮插件重新安装,现在它正在运行。 作曲家需要yajra / laravel-datatables-buttons:^ 3.0
答案 6 :(得分:0)
在[config / app.php]文件中,编辑别名数组。从
改变它'Datatables' => Yajra\Datatables\Facades\Datatables::class
到
'Datatables' => Yajra\Datatables\DatatablesServiceProvider::class
答案 7 :(得分:0)
replace Datatables
with DataTables
答案 8 :(得分:0)
在项目的文件夹中
rm -R vendor/
rm -R bootstrap/cache
mkdir bootstrap/cache
chmod -R 777 bootstrap/*
如果您的laravel版本=> 5.4
composer require yajra/laravel-datatables-oracle:"~8.0"
如果您的laravel版本=> 5.8
composer require yajra/laravel-datatables-oracle:"~9.0"
@config/app.php
'providers' => [
...,
Yajra\DataTables\DataTablesServiceProvider::class,
]
'aliases' => [
...,
'DataTables' => Yajra\DataTables\Facades\DataTables::class,
]
composer dumpautoload
composer install
对我有用。
来源:https://github.com/yajra/laravel-datatables[https://github.com/yajra/laravel-datatables][1]
答案 9 :(得分:0)
不起作用的原因是:
您已安装库。并将其添加到providers数组中的config / app.php中。
别忘了跑
const regex = /\/(?:.*?(\d{1,2}\w{3}\d{0,4}))\/.*?$/;
const [, date] = regex.exec("https://www.example.com/exampletitle21sep9oct2020/index.html");
console.log({ date });
console.log(regex.exec("https://www.example.com/exampletitle21sep9oct/index.html")[1])
之后。