Mit der Entwicklung des Internets und dem Aufstieg des E-Commerce beginnen immer mehr Unternehmen, Online-Auftragsverwaltungssysteme zu nutzen, um Bestellungen besser zu verwalten, die Arbeitseffizienz zu verbessern und einen besseren Kundenservice zu bieten. In diesem Artikel wird erläutert, wie Sie mit dem ThinkPHP6-Framework ein einfaches Bestellverwaltungssystem entwickeln, das Bestellliste, Bestelldetails, Suche, Sortierung, Paginierung und andere Funktionen abdeckt.
Zuerst müssen Sie PHP, MySQL und Composer installieren. Nachdem Sie diese erforderlichen Komponenten installiert haben, können Sie ThinkPHP6 installieren. Wenn Sie mit ThinkPHP6 nicht vertraut sind, können Sie die offizielle Dokumentation lesen oder auf einige verwandte Tutorials verweisen.
Bevor Sie mit der Entwicklung des Auftragsverwaltungssystems beginnen, müssen Sie eine Datenbank erstellen. Erstellen Sie in MySQL eine Datenbank mit dem Namen „order_system“ und anschließend eine Datentabelle mit dem Namen „orders“.
Die Datentabelle enthält die folgenden Felder:
ID – Bestell-ID
Kundenname – Kundenname
Kunden-E-Mail – Kunden-E-Mail
Produktname – Produktname
Produktpreis – Produktpreis
Produktmenge – Produktmenge - Zeitpunkt der Auftragserstellung
updated_at – Zeitpunkt der Auftragsaktualisierung
Modell und Controller erstellenErstellen Sie zunächst ein Modell mit dem Namen „Order“, das der Datentabelle „orders“ entspricht.
php artisan make:model Order -m
Fügen Sie den eingegebenen Code hinzu
namespace appmodel; use thinkModel; class Order extends Model { }
Erstellen Sie dann einen Controller namens „Order“ und eine „Index“-Methode, die die Bestelllistenansicht anzeigt.
php artisan make:controller Order --resource
Zu Aktion hinzufügen, Code
public function index() { $orders = Order::paginate(10); return view('order/index', ['orders' => $orders]); }
Erstellen Sie zunächst eine Ansichtsdatei mit dem Namen „index.blade.php“ im Verzeichnis „order“ und fügen Sie dann den folgenden Code hinzu:
@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
In dieser Ansicht wird der Bootstrap-Stil sowie ein Suchfeld und ein Paging-Steuerelement verwendet .
Methode und Ansicht für Bestelldetails erstellenFügen Sie den folgenden Code im Controller „Order“ hinzu:
public function show($id) { $order = Order::findOrFail($id); return view('order/show', ['order' => $order]); }
Erstellen Sie eine Ansichtsdatei mit dem Namen „show.blade.php“ im Verzeichnis „order“ und fügen Sie den folgenden Code hinzu:
@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
Fügen Sie den folgenden Code in der „index“-Methode des „Order“-Controllers hinzu:
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]); }
In diesem Code wird die IlluminateSupportFacadesRequest-Klasse verwendet, um den Suchparameter „q“ abzurufen, und die „orderBy“-Methode wird zum Umkehren verwendet Sortieren nach Erstellungszeit Sortieren. Verwenden Sie dann die Methode „paginate“ zum Paginieren und die Methode „appends“, um Suchparameter zum paginierten Link hinzuzufügen.
TestenZusammenfassung
Zu diesem Zeitpunkt haben wir alle Schritte zur Erstellung eines einfachen Auftragsverwaltungssystems mithilfe des ThinkPHP6-Frameworks abgeschlossen. In diesem Artikel wird beschrieben, wie Sie Datentabellen, Modelle und Controller erstellen und wie Sie Ansichtsdateien zum Rendern von Bestelldaten, Suchen, Sortieren und Paginieren verwenden. Durch das Studium dieses Tutorials erhalten Sie ein tieferes Verständnis des ThinkPHP6-Frameworks und können das ThinkPHP6-Framework zur Entwicklung Ihres eigenen Geschäftssystems verwenden.
Das obige ist der detaillierte Inhalt vonSo implementieren Sie mit ThinkPHP6 ein Auftragsverwaltungssystem. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!