Maison > cadre php > Laravel > le corps du texte

table laravel ajouter, supprimer, modifier

WBOY
Libérer: 2023-05-29 13:48:38
original
584 Les gens l'ont consulté

Laravel est un framework PHP populaire qui fournit des outils et des fonctionnalités pratiques pour aider les développeurs à créer rapidement des applications Web. L'une des fonctions de base consiste à utiliser des tables pour ajouter, supprimer, modifier et interroger des données. Cet article présentera comment implémenter ces fonctions dans Laravel.

  1. Créer une base de données et des tables

Tout d'abord, nous devons créer une base de données et une table de données pour stocker les données. Dans cet article, nous allons créer une table appelée « utilisateurs » qui contient les champs suivants : identifiant, nom, email et mot de passe.

Nous pouvons créer des tables en utilisant des migrations dans Laravel. Exécutez la commande suivante dans la ligne de commande :

php artisan make:migration create_users_table --create=users
Copier après la connexion

Après avoir exécuté cette commande, Laravel créera un nouveau fichier de migration dans le répertoire "database/migrations". Nous pouvons utiliser la classe "Schema" dans le fichier de migration pour définir la structure de la table. Le code est le suivant :

use IlluminateDatabaseMigrationsMigration;
use IlluminateDatabaseSchemaBlueprint;
use IlluminateSupportFacadesSchema;

class CreateUsersTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('users', function (Blueprint $table) {
            $table->increments('id');
            $table->string('name');
            $table->string('email')->unique();
            $table->string('password');
            $table->timestamps();
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::dropIfExists('users');
    }
}
Copier après la connexion

Le code ci-dessus crée une table nommée "users", qui contient les champs identifiant, nom, email, mot de passe et horodatage.

Lorsque nous exécuterons la migration, Laravel créera la table dans la base de données. Exécutez la commande suivante pour migrer :

php artisan migrate
Copier après la connexion
  1. Ajouter des enregistrements

Pour ajouter des enregistrements à la table, nous devons créer un contrôleur et utiliser un modèle pour enregistrer les données dans la base de données. Exécutez la commande suivante dans la ligne de commande :

php artisan make:controller UserController
Copier après la connexion

Cette commande créera un nouveau contrôleur "UserController" dans le répertoire "app/Http/Controllers".

Dans le fichier du contrôleur, nous pouvons utiliser la méthode "create" pour sauvegarder le nouvel enregistrement. Voici l'exemple de code :

use AppUser;
use IlluminateHttpRequest;

class UserController extends Controller
{
    public function store(Request $request)
    {
        $user = User::create([
            'name' => $request->input('name'),
            'email' => $request->input('email'),
            'password' => bcrypt($request->input('password')),
        ]);

        return response()->json([
            'message' => 'User created successfully',
            'user' => $user,
        ]);
    }
}
Copier après la connexion

Dans le code ci-dessus, nous importons d'abord le modèle "User", puis utilisons la méthode "create" dans la méthode "store" pour créer un nouvel enregistrement. Nous utilisons les champs « nom », « email » et « mot de passe » de la requête comme paramètres et chiffrons le mot de passe à l'aide de la fonction « bcrypt ». Enfin, nous renvoyons une réponse JSON contenant l'enregistrement utilisateur créé.

  1. Liste des enregistrements

Nous pouvons utiliser un contrôleur pour obtenir tous les enregistrements de la table et les renvoyer à l'utilisateur. Ajoutez le code suivant dans votre contrôleur :

public function index()
{
    $users = User::all();

    return view('users.index', ['users' => $users]);
}
Copier après la connexion

Le code ci-dessus récupère tous les enregistrements de la table utilisateur en utilisant la méthode "all" et transmet les résultats à la vue. Nous pouvons utiliser ces données dans la vue pour restituer le tableau HTML.

  1. Mettre à jour l'enregistrement

Semblable à la création d'un enregistrement, nous pouvons utiliser des modèles et des contrôleurs pour mettre à jour les enregistrements. Voici un exemple de méthode "update":

public function update(Request $request, $id)
{
    $user = User::find($id);

    $user->name = $request->input('name');
    $user->email = $request->input('email');

    if ($request->input('password')) {
        $user->password = bcrypt($request->input('password'));
    }

    $user->save();

    return response()->json([
        'message' => 'User updated successfully',
        'user' => $user,
    ]);
}
Copier après la connexion

Dans le code ci-dessus, nous utilisons d'abord la méthode "find" pour obtenir l'enregistrement utilisateur avec l'ID spécifié. Nous utilisons ensuite les champs « nom » et « email » de la requête comme valeurs d'attribut pour mettre à jour l'enregistrement. Si la requête contient un champ « mot de passe », celle-ci est cryptée grâce à la fonction « bcrypt » et la fiche utilisateur est mise à jour. Enfin, nous sauvegardons l'enregistrement à l'aide de la méthode "save" et renvoyons l'enregistrement utilisateur mis à jour sous forme de réponse JSON.

  1. Supprimer l'enregistrement

Nous pouvons utiliser des contrôleurs et des modèles pour supprimer les enregistrements utilisateur. Voici un exemple de la méthode « destroy » :

public function destroy($id)
{
    $user = User::find($id);

    $user->delete();

    return response()->json([
        'message' => 'User deleted successfully',
    ]);
}
Copier après la connexion

Dans le code ci-dessus, nous utilisons d'abord la méthode « find » pour obtenir l'enregistrement utilisateur avec l'ID spécifié. On peut alors effectuer d'autres opérations sur l'enregistrement avant de le supprimer grâce à la méthode "delete". Enfin, nous renvoyons une réponse JSON contenant des informations sur l'utilisateur supprimé.

  1. Table View

Dans le cas de la liste de tous les enregistrements utilisateur, nous pouvons utiliser une vue pour afficher un tableau HTML. Voici un exemple de code d'affichage :

<table>
    <thead>
        <tr>
            <th>ID</th>
            <th>Name</th>
            <th>Email</th>
            <th>Action</th>
        </tr>
    </thead>
    <tbody>
        @foreach ($users as $user)
            <tr>
                <td>{{ $user->id }}</td>
                <td>{{ $user->name }}</td>
                <td>{{ $user->email }}</td>
                <td>
                    <a href="{{ route('users.edit', $user->id) }}">Edit</a>
                    <form action="{{ route('users.destroy', $user->id) }}" method="POST">
                        {{ csrf_field() }}
                        {{ method_field('DELETE') }}
                        <button type="submit">Delete</button>
                    </form>
                </td>
            </tr>
        @endforeach
    </tbody>
</table>
Copier après la connexion

Dans le code ci-dessus, nous utilisons la directive « @foreach » pour parcourir tous les enregistrements d'utilisateurs et afficher leur identifiant, leur nom et leur e-mail dans un tableau HTML. De plus, nous avons ajouté deux colonnes d'action : Modifier et Supprimer. Pour la suppression, nous utilisons un formulaire pour soumettre la demande DELETE et ajouter le jeton CSRF à l'aide de la directive "csrf_field". Pour l'édition, nous définissons des vues et des contrôleurs séparés dans les routes.

  1. Conclusion

Dans cet article, nous avons présenté comment utiliser des modèles et des contrôleurs dans Laravel pour effectuer des opérations de base d'ajout, de suppression, de modification et d'interrogation de tables. Bien qu'un projet réel puisse comporter davantage de fonctionnalités et de détails, cet article fournit un point de départ pour vous aider à commencer à utiliser Laravel pour gérer les opérations de table pour vos applications Web.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!