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?
5 Réponses :
Ajouter use DB;
à votre contrôleur.
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; } } }
Ensuite, utilisez la classe DB
use DB;
Vous pouvez maintenant utiliser DB comme ci-dessous. C'est juste un exemple.
namespace App\Http\Controllers;
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;
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) { } }
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
Problème d'espacement des noms. Quelque part dans votre code, vous avez
DB::
, utilisez\DB::
ou incluezuse DB;
. Pour référence future, incluez du code la prochaine fois que vous postez une question comme celle-ci.