-1
votes

Classe 'App \ Http \ Controllers \ DB' introuvable

J'obtiens une Class 'App\Http\Controllers\DB' not found erreur Class 'App\Http\Controllers\DB' not found . Y a-t-il des suggestions d'amélioration?


1 commentaires

Problème d'espacement des noms. Quelque part dans votre code, vous avez DB:: , utilisez \DB:: ou incluez use DB; . Pour référence future, incluez du code la prochaine fois que vous postez une question comme celle-ci.


5 Réponses :


6
votes

Ajouter use DB; à votre contrôleur.


0 commentaires

0
votes
  1. Les contrôleurs se trouvent dans App \ Http \ Controllers, utilisez donc ceci dans l'espace de noms.

    class UserController extends Controller
    {
      function  index()
      {
       $users = DB::table('users')->get();
       foreach ($users as $user){
         echo $user->name;
       }
      }
    }
    
  2. Ensuite, utilisez la classe DB

    use DB;
    
  3. Vous pouvez maintenant utiliser DB comme ci-dessous. C'est juste un exemple.

    namespace App\Http\Controllers;
    

0 commentaires

0
votes

J'aime faire cette sorcière que je trouve plus propre:

1 - Ajoutez le modèle à l'espace de noms:

$user = User::where('name', 'John')->first();

2 - alors vous pouvez faire:

$users = User::get();

ou peut-être quelque chose comme ça:

use App\User;


0 commentaires

0
votes

Si vous obtenez une erreur comme la classe «App \ Http \ Controllers \ DB» introuvable sur le contrôleur dans laravel. classe 'app \ http \ controllers \ db' introuvable

Alors, ajoutez use DB; en haut du fichier YourController avec d'autres préfixes:

<?php
namespace App\Http\Controllers;
 
use Illuminate\Http\Request;
 
use DB;
 
class YourController extends Controller
{
    public function index(Request $request)
    {
        
    }
 
}


0 commentaires

0
votes

Utilisez l'espace de noms

$user = DB::table('users')->where('name', 'hay')->first();

Interroger la base de données

use Illuminate\Support\Facades\DB;

Cela récupère le premier enregistrement avec le nom foin


0 commentaires