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.