인터넷의 발달과 전자상거래의 증가로 인해 점점 더 많은 회사가 온라인 주문 관리 시스템을 사용하여 주문을 보다 효율적으로 관리하고 업무 효율성을 향상하며 더 나은 고객 서비스를 제공하기 시작했습니다. 이 기사에서는 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 - 주문 업데이트 시간
ThinkPHP6에서 모델은 데이터 테이블에 해당하고 컨트롤러는 경로에 해당합니다.
먼저 "orders" 데이터 테이블에 해당하는 "Order"라는 모델을 만듭니다.
php artisan make:model Order -m
타워진 코드에 추가
namespace appmodel; use thinkModel; class Order extends Model { }
그런 다음 "Order"라는 컨트롤러와 주문 목록 뷰를 표시할 "index" 메서드를 만듭니다.
php artisan make:controller Order --resource
Action에 추가하고
public function index() { $orders = Order::paginate(10); return view('order/index', ['orders' => $orders]); }
다음으로 "index.blade.php"라는 이름의 뷰를 만들어 검색, 정렬, 페이징 기능이 포함된 주문 목록을 표시합니다.
먼저 "order" 디렉터리에 "index.blade.php"라는 뷰 파일을 생성한 후 다음 코드를 추가합니다.
@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
이 뷰에서는 Bootstrap 스타일이 사용되며 검색 상자와 페이징 컨트롤이 있습니다. .
그런 다음 "show"라는 메소드와 "show.blade.php"라는 뷰를 생성하여 주문 세부정보를 표시합니다.
"Order" 컨트롤러에 다음 코드를 추가하세요:
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
검색, 정렬, 페이징 기능을 구현하기 위해서는 "index" 메소드를 수정해야 합니다.
"Order" 컨트롤러의 "index" 메소드에 다음 코드를 추가하세요:
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" 메소드를 사용하여 페이지가 매겨진 링크에 검색 매개변수를 추가합니다.
이제 생성된 주문 관리 시스템을 테스트할 수 있습니다. 주문 목록을 보려면 브라우저에 http://localhost/orders를 입력하세요. 키워드를 입력 후 검색버튼을 클릭하시면 검색결과를 보실 수 있으며, 상세정보 버튼을 클릭하시면 주문내역을 보실 수 있습니다. 페이지 매김 링크 아래에서 페이징 컨트롤을 볼 수 있습니다.
요약
이 시점에서 ThinkPHP6 프레임워크를 사용하여 간단한 주문 관리 시스템을 만드는 모든 단계를 완료했습니다. 이 문서에서는 데이터 테이블, 모델 및 컨트롤러를 만드는 방법을 설명하고 보기 파일을 사용하여 주문 데이터를 렌더링하고, 검색하고, 정렬하고, 페이지를 매기는 방법을 보여줍니다. 이 튜토리얼을 공부함으로써 ThinkPHP6 프레임워크에 대해 더 깊이 이해하고 ThinkPHP6 프레임워크를 사용하여 자신만의 비즈니스 시스템을 개발할 수 있습니다.
위 내용은 ThinkPHP6을 사용하여 주문 관리 시스템을 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!