Laravel-datatables: Classe 'Yajra\Datatables\Facades\Datatables' introuvable

Créé le 8 déc. 2015  ·  32Commentaires  ·  Source: yajra/laravel-datatables

Bonjour, Pourquoi j'obtiens cette erreur :

Class 'Yajra\Datatables\Facades\Datatables' not found

Parce que je ne mets jamais rien à jour.

Mon app.php est :

Yajra\Datatables\DatatablesServiceProvider::class,
'Datatables' => Yajra\Datatables\Datatables::class,

Comment résoudre ce problème ?

Commentaire le plus utile

@shairozan , le fichier Facade a été supprimé sur la v6.0 et un alias a été automatiquement enregistré chez le fournisseur de services. Vous devez remplacer ce use Yajra\Datatables\Facades\Datatables par seulement use Datatables ou utiliser Yajra\Datatables\Datatables à la place pour un meilleur support IDE.

Tous les 32 commentaires

Changement suivant

Yajra\Datatables\DatatablesServiceProvider::class,
'Datatables' => Yajra\Datatables\Datatables::class,

pour ça

yajra\Datatables\DatatablesServiceProvider::class,
'Datatables' => yajra\Datatables\Datatables::class,

et essaye.

Toujours obtenir une erreur,

Server Error
500

La première fois que j'installe cette version :

"yajra/laravel-datatables-oracle": "dev-develop"

Peut-être un moyen de réinitialiser la configuration ??

essaye ça

'yajra\Datatables\DatatablesServiceProvider',

supprimer :: classe

J'ai toujours une erreur :(
Voici mes logs laravel :

[2015-12-08 14:15:36] local.CRITICAL: exception 'Symfony\Component\Debug\Exception\FatalErrorException' with message 'Class 'yajra\Datatables\DatatablesServiceProvider' not found' in /Applications/MAMP/htdocs/ulp3/bootstrap/cache/compiled.php:6916
Stack trace:
#0 {main} {"identification":{"id":"8593e01b-5cd9-4b85-9707-1fbaf2d10138"}} 

J'ai installé "yajra/laravel-datatables-oracle": "~5.0"
sa fonctionne bien.
la version dev-develop ne fonctionne pas pour moi

dev-develop utilise l'espace de noms Yajra\Datatables qui sera étiqueté comme v6.0.0. Pour la façade, veuillez utiliser 'Datatables' => Yajra\Datatables\Datatables::class, atm.

hmm, j'ai déjà changé pour

'Datatables' => Yajra\Datatables\Datatables::class

Mais ça ne marche toujours pas.
Et, finalement, je rétrograde à

"yajra/laravel-datatables-oracle": "~5.0" 

Ça fonctionne maintenant.
Mais je ne sais pas pourquoi j'obtiens cette erreur soudainement.

Merci pour votre soutien :) :+1:

En fait, j'ai toujours ce problème. J'ai dû revenir à 5 pour le faire fonctionner, mais je ne dirais pas que c'est corrigé en 6.

@shairozan , le fichier Facade a été supprimé sur la v6.0 et un alias a été automatiquement enregistré chez le fournisseur de services. Vous devez remplacer ce use Yajra\Datatables\Facades\Datatables par seulement use Datatables ou utiliser Yajra\Datatables\Datatables à la place pour un meilleur support IDE.

Ce problème semble toujours exister. Sur une installation de Laravel 5.1.29, j'ai dû changer Yajra\Datatables\DatatablesServiceProvider::class en yajra\Datatables\DatatablesServiceProvider::class dans le tableau des fournisseurs avant que cela ne fonctionne.

Version de yajra/laravel-datatables-oracle
{
"nom": "yajra/laravel-datatables-oracle",
"version": "v6.0.0-alpha",
"la source": {
"type": "git",
"url": " https://github.com/yajra/laravel-datatables.git ",
"référence": "41e62d7febf28f901b10d68b953c4dadbb37b1e3"
},

Error seen when trying to do `php artisan vendor:publish --tag=datatables`

[Symfony\Component\Debug\Exception\FatalErrorException]
Classe 'Yajra\Datatables\DatatablesServiceProvider' introuvable

Vos besoins n'ont pas pu être résolus en un ensemble de packages installables.

Problème 1
- laraveldaily/quickadmin 2.0.0 nécessite yajra/laravel-datatables-oracle ^6.18 -> satisfaisable par yajra/laravel-datatables-oracle[v6.18.0, v6.18.1, v6.18.2, v6.19.0].
- laraveldaily/quickadmin 2.0.1 nécessite yajra/laravel-datatables-oracle ^6.18 -> satisfaisable par yajra/laravel-datatables-oracle[v6.18.0, v6.18.1, v6.18.2, v6.19.0].
- laraveldaily/quickadmin 2.0.2 nécessite yajra/laravel-datatables-oracle ^6.18 -> satisfaisable par yajra/laravel-datatables-oracle[v6.18.0, v6.18.1, v6.18.2, v6.19.0].
- yajra/laravel-datatables-oracle v6.18.0 nécessite dompdf/dompdf ^0.7 -> satisfaisable par dompdf/dompdf[v0.7.0].
- yajra/laravel-datatables-oracle v6.18.1 nécessite dompdf/dompdf ^0.7 -> satisfaisable par dompdf/dompdf[v0.7.0].
- yajra/laravel-datatables-oracle v6.18.2 nécessite dompdf/dompdf ^0.7 -> satisfaisable par dompdf/dompdf[v0.7.0].
- yajra/laravel-datatables-oracle v6.19.0 nécessite dompdf/dompdf ^0.7 -> satisfaisable par dompdf/dompdf[v0.7.0].
- dompdf/dompdf v0.7.0 nécessite ext-gd * -> l'extension PHP demandée gd est absente de votre système.
- Demande d'installation pour laraveldaily/quickadmin ^2.0 -> satisfaisable par laraveldaily/quickadmin[2.0.0, 2.0.1, 2.0.2].

Pour activer les extensions, vérifiez qu'elles sont activées dans ces fichiers .ini :
- /etc/php/7.0/cli/php.ini
- /etc/php/7.0/cli/conf.d/10-mysqlnd.ini
- /etc/php/7.0/cli/conf.d/10-opcache.ini
- /etc/php/7.0/cli/conf.d/10-pdo.ini
- /etc/php/7.0/cli/conf.d/15-xml.ini
- /etc/php/7.0/cli/conf.d/20-calendar.ini
- /etc/php/7.0/cli/conf.d/20-ctype.ini
- /etc/php/7.0/cli/conf.d/20-curl.ini
- /etc/php/7.0/cli/conf.d/20-dom.ini
- /etc/php/7.0/cli/conf.d/20-exif.ini
- /etc/php/7.0/cli/conf.d/20-fileinfo.ini
- /etc/php/7.0/cli/conf.d/20-ftp.ini
- /etc/php/7.0/cli/conf.d/20-gettext.ini
- /etc/php/7.0/cli/conf.d/20-iconv.ini
- /etc/php/7.0/cli/conf.d/20-json.ini
- /etc/php/7.0/cli/conf.d/20-mbstring.ini
- /etc/php/7.0/cli/conf.d/20-mcrypt.ini
- /etc/php/7.0/cli/conf.d/20-mysqli.ini
- /etc/php/7.0/cli/conf.d/20-pdo_mysql.ini
- /etc/php/7.0/cli/conf.d/20-phar.ini
- /etc/php/7.0/cli/conf.d/20-posix.ini
- /etc/php/7.0/cli/conf.d/20-readline.ini
- /etc/php/7.0/cli/conf.d/20-shmop.ini
- /etc/php/7.0/cli/conf.d/20-simplexml.ini
- /etc/php/7.0/cli/conf.d/20-sockets.ini
- /etc/php/7.0/cli/conf.d/20-sysvmsg.ini
- /etc/php/7.0/cli/conf.d/20-sysvsem.ini
- /etc/php/7.0/cli/conf.d/20-sysvshm.ini
- /etc/php/7.0/cli/conf.d/20-tokenizer.ini
- /etc/php/7.0/cli/conf.d/20-wddx.ini
- /etc/php/7.0/cli/conf.d/20-xmlreader.ini
- /etc/php/7.0/cli/conf.d/20-xmlwriter.ini
- /etc/php/7.0/cli/conf.d/20-xsl.ini
Vous pouvez également exécuter php --ini dans le terminal pour voir quels fichiers sont utilisés par PHP en mode CLI.

L'installation a échoué, ramenant ./composer.json à son contenu d'origine.

Je reçois parfois ce message même si tout fonctionnait bien jusqu'à présent.

Pour moi, le simple fait d'exécuter composer update résout le problème.

supprimez simplement tous les fichiers dans un dossier bootstrap->cache. Et exécutez votre projet. Bug réparé.

Ni "yajra" ni "Yajra" ne fonctionnent. J'ai toujours l'erreur avec Alaval 5.4 & Datatables v7.
Cela fait 3 heures que je galère avec cette bibliothèque, c'est épuisant.

@idmeneo désolé pour le désagrément. Quelles sont les étapes que vous avez faites jusqu'à présent ? Vous utilisez une nouvelle installation ou mettez à niveau un projet ?

Quelques conseils:

  1. Utilisez composer show pour vérifier la version des packages que vous utilisez.
  2. Supprimez tous les fichiers sous le dossier bootstrap/cache comme suggéré par @RBBarani.
  3. Supprimez le dossier vendor et réinstallez tous les packages en utilisant composer install .

-- Éditer --
L'espace de noms "yajra" et "Yajra" est un problème un peu ancien de v5.x et inférieur et je pense qu'il n'est pas pertinent sur v7. Merci!

Merci pour la réponse. J'ai finalement réussi à le faire fonctionner en rétrogradant votre module vers la v6.2 et en mettant à jour toutes les autres bibliothèques.

Essayez de supprimer les opérateurs de sucre syntaxiques comme le signe tilde et caret dans composer.json. Parce que parfois, ils ne permettent pas l'installation de la version exacte. Le même problème m'est arrivé également. Alors cours,

comoposer update

Résolu le problème pour moi.

@wisnuvb L' espace de noms et le nom de la classe ont été mis à jour sur la v8. Utilisez DataTables au lieu de Datatables . Voir le guide de mise à niveau pour la réf.

bon, je n'ai pas lu le guide de mise à jour. une fois que c'est fait. Je vous remercie

Sur v8, exécutez composer update et utilisez cet espace de noms use Yajra\DataTables\Facades\DataTables;

Passer de v6.0 à v8.0 m'a obligé à changer config/app.php
frro

         'Datatables' => Yajra\Datatables\Facades\Datatables::class,

à

        'Datatables' => Yajra\Datatables\Datatables::class,

et ça a bien fonctionné ensuite.

De plus, s'il est utilisé pour supprimer automatiquement les éléments html, vous devrez publier le package du fournisseur et modifier config/datatables.php

       /*
         * List of columns to be escaped. If set to *, all columns are escape.
         * Note: You can set the value to empty array to disable XSS protection.
         */
         'escape' => '*',

à

        'escape' => [],

@lexxyungcarter veuillez consulter le guide de mise à niveau pour la réf.

L'espace de noms et le nom de la classe ont été mis à jour sur la v8. Utilisez DataTables au lieu de Datatables.

Ça a marché

La solution de @victorsteven a fonctionné sur un nouveau Laravel 5.6 + Datatables 8.7.0

Il s'agit d'utiliser YajraDataTables\FacadesDataTables ; fonctionne bien de mon coté merci

J'utilise la commande composer require yajra/laravel-datatables-oracle et je change la ligne ci-dessous
yajraDatatablesDatatablesServiceProvider :: classe,
'Datatables' => yajraDatatablesDatatables :: classe,
Ça marche.
Quelque chose comme ça https://appdividend.com/2018/04/16/laravel-datatables-tutorial-with-example/

Utilisez ceci:

'Datatables' => YajraDataTables\FacadesDataTables::class, // Datatable

D et T doivent être en majuscule.

J'ai eu cette erreur lorsque j'essayais de supprimer le paquet. Pour effacer l'erreur, allez dans boostrap > cache et effacez tout

YajraDataTablesDataTablesServiceProvider :: classe, dans le tableau des fournisseurs
YajraDataTables\FacadesDataTables::class, dans le tableau des alias

utilisez celui-ci, il a résolu le problème pour moi

Je suis confronté au même problème ici. le code fonctionne parfaitement en local, mais je le prends sur le serveur et toute mon application ne parvient pas à démarrer.
mesures prises.

  1. J'ai copié yajra de mon fournisseur vers le serveur
  2. Copié également publié config/datatables.php du fournisseur sur le serveur
  3. copié le compositeur et composer.lock
  4. tout effacé dans le cache d'amorçage du serveur

Je suis vraiment frustré après 2 heures d'essayer des choses que je vois ici :(

Après des heures d'essai. J'ai décidé de télécharger à nouveau le code local qui fonctionnait sur mon serveur hôte partagé. et ça marche bien maintenant. Merci Yajra

J'ai le même problème avec laravel 7. J'exécute : php artisan config:cache
Et mon problème était le résultat.

Cette page vous a été utile?
0 / 5 - 0 notes