ホームページ >PHPフレームワーク >ThinkPHP >ThinkPHP6 を使用して注文管理システムを実装する方法
インターネットの発展と電子商取引の台頭により、ますます多くの企業がオンライン注文管理システムを使用して注文をより適切に管理し、作業効率を向上させ、より良い顧客サービスを提供し始めています。この記事では、ThinkPHP6 フレームワークを使用して、注文リスト、注文の詳細、検索、並べ替え、ページングなどの機能を含む、シンプルな注文管理システムを開発する方法を紹介します。
まず、PHP、MySQL、Composerをインストールする必要があります。これらの必要なコンポーネントをインストールした後、ThinkPHP6 をインストールできます。 ThinkPHP6 に詳しくない場合は、公式ドキュメントを読むか、関連するチュートリアルを参照してください。
注文管理システムの開発を開始する前に、データベースを作成する必要があります。 MySQL に「order_system」という名前のデータベースを作成し、「orders」という名前のデータ テーブルを作成します。
データ テーブルには次のフィールドが含まれます:
id - 注文 ID
customer_name - 顧客名
customer_email - 顧客のメールアドレス
product_name - 製品名
product_price - 製品価格
product_quantity - 製品数量
created_at - 注文作成時間
updated_at - 注文更新時間
php artisan make:model Order -m挿入されたコードに追加
namespace appmodel; use thinkModel; class Order extends Model { }次に、「Order」という名前のコントローラーと、注文リスト ビューを表示するための「index」メソッドを作成します。
php artisan make:controller Order --resourceアクションに追加、コード
public function index() { $orders = Order::paginate(10); return view('order/index', ['orders' => $orders]); }
@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このビューでは、ブートストラップ スタイルが使用されます。 、検索ボックスとページング コントロールも追加します。
public function show($id) { $order = Order::findOrFail($id); return view('order/show', ['order' => $order]); }「order」ディレクトリに「show.blade.php」という名前のビュー ファイルを作成し、次のコードを追加します。
@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
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]); }このコードでは、IlluminateSupportFacadesRequest クラスを使用して検索パラメーター「q」と「 orderBy」メソッドを使用して、作成時間の逆順にソートします。次に、「paginate」メソッドを使用してページ分割し、「appends」メソッドを使用してページ分割されたリンクに検索パラメータを追加します。
以上がThinkPHP6 を使用して注文管理システムを実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。