Maison >cadre php >PensezPHP >Comment utiliser ThinkPHP6 pour implémenter un système de gestion des commandes

Comment utiliser ThinkPHP6 pour implémenter un système de gestion des commandes

PHPz
PHPzoriginal
2023-06-20 08:42:461871parcourir

Avec le développement d'Internet et l'essor du commerce électronique, de plus en plus d'entreprises commencent à utiliser des systèmes de gestion des commandes en ligne pour mieux gérer les commandes, améliorer l'efficacité du travail et fournir un meilleur service client. Cet article expliquera comment utiliser le framework ThinkPHP6 pour développer un système de gestion de commandes simple, couvrant la liste des commandes, les détails des commandes, la recherche, le tri, la pagination et d'autres fonctions.

  1. Préparation

Tout d'abord, vous devez installer PHP, MySQL et Composer. Après avoir installé ces composants nécessaires, vous pouvez installer ThinkPHP6. Si vous n'êtes pas familier avec ThinkPHP6, vous pouvez lire la documentation officielle ou vous référer à certains didacticiels associés.

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

Avant de commencer à développer le système de gestion des commandes, vous devez créer une base de données. Créez une base de données nommée "order_system" dans MySQL, puis créez une table de données nommée "orders".

Le tableau de données contient les champs suivants:

id - ID de commande

Customer_name - Nom du client

Customer_email - Client Email

Product_name - Nom du produit

product_price - Prix du produit

Product_quantity - Quantité de produit

Created_at - Heure de création de la commande

updated_at - Heure de mise à jour de la commande

  1. Créer un modèle et un contrôleur

Dans ThinkPHP6, un modèle correspond à une table de données et un contrôleur correspond à un itinéraire.

Tout d'abord, créez un modèle nommé "Commande", qui correspondra au tableau de données "commandes".

php artisan make:model Order -m

Ajoutez au code versé

namespace appmodel;

use thinkModel;

class Order extends Model
{

}

Ensuite, créez un contrôleur appelé "Order" et une méthode "index" qui affichera la vue de la liste des commandes.

php artisan make:controller Order --resource

Ajouter à l'action, codez

public function index()
{
    $orders = Order::paginate(10);
    return view('order/index', ['orders' => $orders]);
}
  1. Créer une vue

Ensuite, créez une vue nommée "index.blade.php" pour afficher la liste de commandes, qui contient les fonctions de recherche, de tri et de pagination.

Tout d'abord, créez un fichier de vue nommé "index.blade.php" dans le répertoire "order", puis ajoutez le code suivant :

@extends('layout')

@section('content')
    <h2>订单列表</h2>

    <form action="{{route('orders.index')}}" method="get">
        <div class="form-group">
            <input type="text" name="q" value="{{$q}}" class="form-control" placeholder="搜索">
        </div>

        <button type="submit" class="btn btn-primary">搜索</button>
    </form>

    <table class="table">
        <thead>
        <tr>
            <th>ID</th>
            <th>客户姓名</th>
            <th>客户电子邮件</th>
            <th>产品名称</th>
            <th>产品价格</th>
            <th>产品数量</th>
            <th>订单创建时间</th>
            <th></th>
        </tr>
        </thead>
        <tbody>
        @foreach ($orders as $order)
            <tr>
                <td>{{$order->id}}</td>
                <td>{{$order->customer_name}}</td>
                <td>{{$order->customer_email}}</td>
                <td>{{$order->product_name}}</td>
                <td>{{$order->product_price}}</td>
                <td>{{$order->product_quantity}}</td>
                <td>{{$order->created_at}}</td>
                <td><a href="{{route('orders.show', $order->id)}}" class="btn btn-primary">详情</a></td>
            </tr>
        @endforeach
        </tbody>
    </table>

    {{$orders->links()}}
@endsection

Dans cette vue, le style Bootstrap est utilisé, ainsi qu'un champ de recherche et un contrôle de pagination .

  1. Créer une méthode et une vue des détails de la commande

Ensuite, créez une méthode nommée "show" et une vue nommée "show.blade.php" pour afficher les détails de la commande.

Ajoutez le code suivant dans le contrôleur "Order" :

public function show($id)
{
    $order = Order::findOrFail($id);
    return view('order/show', ['order' => $order]);
}

Créez un fichier de vue nommé "show.blade.php" dans le répertoire "order" et ajoutez le code suivant :

@extends('layout')

@section('content')
    <h2>订单详情</h2>

    <table class="table">
        <tbody>
        <tr>
            <th>ID</th>
            <td>{{$order->id}}</td>
        </tr>
        <tr>
            <th>客户姓名</th>
            <td>{{$order->customer_name}}</td>
        </tr>
        <tr>
            <th>客户电子邮件</th>
            <td>{{$order->customer_email}}</td>
        </tr>
        <tr>
            <th>产品名称</th>
            <td>{{$order->product_name}}</td>
        </tr>
        <tr>
            <th>产品价格</th>
            <td>{{$order->product_price}}</td>
        </tr>
        <tr>
            <th>产品数量</th>
            <td>{{$order->product_quantity}}</td>
        </tr>
        <tr>
            <th>订单创建时间</th>
            <td>{{$order->created_at}}</td>
        </tr>
        <tr>
            <th>订单更新时间</th>
            <td>{{$order->updated_at}}</td>
        </tr>
        </tbody>
    </table>

    <a href="{{route('orders.index')}}" class="btn btn-primary">返回</a>
@endsection
  1. Ajoutez une recherche, un tri et une pagination function

Afin d'implémenter les fonctions de recherche, de tri et de pagination, la méthode "index" doit être modifiée.

Ajoutez le code suivant dans la méthode "index" du contrôleur "Order":

public function index(Request $request)
{
    $q = $request->input('q');

    $orders = Order::when($q, function ($query) use ($q) {
            $query->where('customer_name', 'like', "%$q%")
                ->orWhere('customer_email', 'like', "%$q%")
                ->orWhere('product_name', 'like', "%$q%");
        })
        ->orderBy('created_at', 'desc')
        ->paginate(10)
        ->appends(['q' => $q]);

    return view('order/index', ['orders' => $orders, 'q' => $q]);
}

Dans ce code, la classe IlluminateSupportFacadesRequest est utilisée pour obtenir le paramètre de recherche "q", et la méthode "orderBy" est utilisée pour inverser trier par heure de création Trier. Ensuite, utilisez la méthode « paginate » pour paginer et la méthode « appends » pour ajouter des paramètres de recherche au lien paginé.

  1. Testing

Vous pouvez désormais tester le système de gestion des commandes créé. Entrez http://localhost/orders dans votre navigateur pour voir la liste des commandes. Après avoir saisi des mots-clés et cliqué sur le bouton de recherche, vous pouvez voir les résultats de la recherche ; après avoir cliqué sur le bouton de détails, vous pouvez afficher les détails de la commande. Sous le lien de pagination, vous pouvez voir les contrôles de pagination.

Résumé

À ce stade, nous avons terminé toutes les étapes pour créer un système de gestion de commandes simple à l'aide du framework ThinkPHP6. Cet article décrit comment créer des tables de données, des modèles et des contrôleurs, et montre comment utiliser des fichiers d'affichage pour restituer les données de commande, rechercher, trier et paginer. En étudiant ce didacticiel, vous pourrez avoir une compréhension plus approfondie du framework ThinkPHP6 et être capable d'utiliser le framework ThinkPHP6 pour développer votre propre système d'entreprise.

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!

Déclaration:
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