Prérequis:
Vous aurez besoin d'une table dans la base de données où le projet Laravel est connecté. Vous pouvez créer une table par la commande migrate ou manuellement. j'ai utilisé le utilisateurs table dans ce tutoriel pour faire l'opération CRUD à l'aide du contrôleur de ressources. La table est vide maintenant. La structure du tableau est présentée ci-dessous.
Créez un contrôleur de ressources :
Exécutez la commande suivante à partir du terminal pour créer le contrôleur de ressources nommé UserController.
$ php artisan make:controller UserController --resource
Si vous ouvrez le contrôleur à partir de n'importe quel éditeur, vous verrez que les codes suivants sont déjà écrits dans le contrôleur. Sept méthodes sont créées automatiquement à l'intérieur du contrôleur pour effectuer les opérations CRUD.
espace de noms App\Http\Controllers ;utilisez Illuminate\Http\Request ;
la classe UserController étend le contrôleur
/**
* Afficher une liste de la ressource.
*
* @return \Illuminate\Http\Response
*/
index de fonction publique()
//
/**
* Afficher le formulaire de création d'une nouvelle ressource.
*
* @return \Illuminate\Http\Response
*/
fonction publique create()
//
/**
* Stocker une ressource nouvellement créée dans le stockage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
magasin de fonctions public (demande $ demande)
//
/**
* Afficher la ressource spécifiée.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
fonction publique show($id)
//
/**
* Afficher le formulaire pour éditer la ressource spécifiée.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
fonction publique edit($id)
//
/**
* Mettre à jour la ressource spécifiée dans le stockage.
*
* @param \Illuminate\Http\Request $request
* @param int $id
* @return \Illuminate\Http\Response
*/
mise à jour de la fonction publique (Request $request, $id)
//
/**
* Supprimer la ressource spécifiée du stockage.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
fonction publique destroy($id)
//
Itinéraires de ressources :
Ajoutez l'itinéraire suivant pour le UserController pour créer des routes de ressources dans la toile.php déposer.
Route::resource('users', 'UserController');Maintenant, exécutez la commande suivante à partir du terminal pour vérifier la liste de routes actuelle à partir du la toile.php déposer.
$ php artisan route:listLes informations de route suivantes sont générées pour l'utilisation de la méthode Route::resource(). sept routes sont créées pour appeler sept méthodes. Les utilisations de ces routes sont expliquées plus loin dans la partie suivante de ce tutoriel.
Ajoutez les lignes suivantes au début du UserController.php fichier pour importer le modèle utilisateur, service de hachage pour hacher le mot de passe et service de base de données pour les opérations de base de données.
utilisez App\Utilisateur ;utiliser le hachage ;
utiliser la base de données
Insérer un enregistrement :
Modifier le créer() méthode de UserController avec le code suivant. Ici, un objet de la Utilisateur le modèle est créé pour insérer les nouveaux enregistrements. Après avoir attribué les valeurs obligatoires, le sauvegarder() La fonction est appelée pour insérer le nouvel enregistrement dans le étudiants tableau.
fonction publique create()$user = nouvel utilisateur ;
$utilisateur->nom = 'fahmida';
$user->email = '[email protected]';
$user->password = Hash::make('12345');
essayer
$user->save();
echo "L'enregistrement est inséré" ;
catch (\Illuminate\Database\QueryException $e)
echo "Entrée en double" ;
L'itinéraire pour appeler le créer() méthode de UserController est 'utilisateurs/créer'. Exécutez l'URL suivante à partir du navigateur. Si l'enregistrement est inséré correctement, la sortie suivante apparaîtra.
http://localhost/laravelpro/public/users/create
Maintenant, si vous vérifiez la table à partir de la base de données, vous obtiendrez la sortie suivante.
Afficher tous les enregistrements :
Modifier le indice() méthode de UserController avec le code suivant pour récupérer tous les enregistrements du utilisateurs tableau et afficher les valeurs de Nom et e-mail.
index de fonction publique()$users = DB::select('select * from users');
foreach($users as $user)
echo "Nom : $utilisateur->nom" ;
écho "
E-mail : $utilisateur->e-mail" ;
L'itinéraire pour appeler le indice() méthode de UserController est 'utilisateurs'. Exécutez l'URL suivante à partir du navigateur.
http://localhost/laravelpro/public/users
La sortie suivante apparaîtra.
Sélectionnez un enregistrement spécifique :
Modifier le spectacle() méthode de UserController avec le code suivant pour récupérer un enregistrement du utilisateurs tableau qui contient 1 dans le identifiant champ et afficher la valeur du Nom.
fonction publique show($id)$user = DB::select('select * from users where id='.$id);
echo "Le nom de l'utilisateur est ". $user[0]->nom."
";
L'itinéraire pour appeler le spectacle() méthode de UserController est 'utilisateurs/id'. Exécutez l'URL suivante à partir du navigateur.
http://localhost/laravelpro/public/users/1
La sortie suivante apparaîtra.
Mettre à jour l'enregistrement :
Deux méthodes sont principalement définies dans le contrôleur de ressources pour mettre à jour un enregistrement de base de données. Ceux-ci sont Éditer() et mettre à jour() où les données de l'enregistrement sont mises à jour à l'aide de n'importe quel formulaire édité. Mais aucun formulaire d'édition n'est utilisé ici. Ainsi, seul le Éditer() méthode est utilisée pour mettre à jour un enregistrement particulier de la étudiants tableau. La valeur actuelle d'un enregistrement particulier est imprimée avant et après l'exécution de la requête de mise à jour.
fonction publique edit($id)$user = DB::select('select * from users where id='.$id);
echo "L'email actuel de l'utilisateur est ". $user[0]->e-mail."
";
$email = '[email protégé]';
$user = DB::select("Mettre à jour les utilisateurs définis email='$email'where id=".$id);
$user = DB::select('select * from users where id='.$id);
echo "L'email de l'utilisateur après mise à jour est ". $user[0]->e-mail ;
L'itinéraire pour appeler le Éditer() méthode de UserController est 'utilisateurs/id/modifier'. Exécutez l'URL suivante à partir du navigateur.
http://localhost/laravelpro/public/users/1/edit
La sortie suivante apparaîtra.
Supprimer l'enregistrement :
La méthode destroy () est définie pour supprimer tout enregistrement de la table. Mais la route pour supprimer l'enregistrement passe d'une autre méthode. Ici, j'ai utilisé le spectacle() méthode pour créer un lien hypertexte pour supprimer l'enregistrement qui est ajouté à la fin de la méthode.
fonction publique show($id)$user = DB::select('select * from users where id='.$id);
echo "Le nom de l'utilisateur est ". $user[0]->nom."
";
écho "Effacer";
Ajoutez le code suivant dans le détruire() méthode pour supprimer un enregistrement particulier.
fonction publique destroy($id)$user = DB::select('Supprimer des utilisateurs où id='.$id);
echo "L'enregistrement est supprimé" ;
Ajouter l'itinéraire dans la toile.php fichier pour appeler le détruire() méthode.
Route::get('/users/delete/id', '[email protected]');Après avoir cliqué sur le lien de suppression, la sortie suivante apparaîtra.
Conclusion:
L'utilisation du contrôleur de ressource et le concept de la ressource route sont expliqués en détail dans ce tutoriel en utilisant une opération CRUD. J'espère que cela aidera les nouveaux utilisateurs de Laravel à implémenter facilement l'opération CRUD dans leur projet.