trexology / laravel-order
Laravel应用程序的订单管理。
v2.0.3
2016-08-02 02:07 UTC
Requires
- illuminate/config: 5.0.*|5.1.*|5.2.*
- illuminate/console: 5.0.*|5.1.*|5.2.*
- illuminate/database: 5.0.*|5.1.*|5.2.*
- illuminate/support: 5.0.*|5.1.*|5.2.*
- venturecraft/revisionable: 1.*
Requires (Dev)
- phpunit/phpunit: ~4.0
README
laravel-order
Laravel 5+ 的基础订单管理包
安装
composer require trexology/laravel-order:2.*
安装后,前往 config/app.php
中的 providers
部分,添加以下内容
Trexology\LaravelOrder\LaravelOrderServiceProvider::class
并在 "aliases" 下添加
'Order' => Trexology\LaravelOrder\Facades\OrderFacade::class
使用以下命令发布迁移和配置文件
php artisan vendor:publish
在 config/order.php
中编辑额外的设置
return [ /* |-------------------------------------------------------------------------- | Order Status Name |-------------------------------------------------------------------------- | Customize the status name recorded | */ 'init' => "init", 'complete' => "complete", 'ignoredFields' => [] ];
从 1.* 版本升级指南
• 此包使用 VentureCraft/revisionable 跟踪订单变更
• 删除旧的迁移文件 '2015_12_02_150448_create_orderLogs_table.php'
• 在 Orderitems
表中,列 line_item_id
已从整数更改为字符串,以提供更大的灵活性(版本 1 用户必须手动更改列类型)
使用方法
创建新订单
订单 Order::order(int $user_id, array $data = null, bool $draft = FALSE)
$data = [ //Custom fields 'cust_first_name' => $cust->first_name, 'cust_last_name' => $cust->last_name ]; $order = Order::order($cust->id, $data);
向订单添加项目
订单 Order::addItem(Order $order, Model $object, double $price, int $quantity, array $data = null, double $vat = 0);
$data = [ 'description' => "My item descriptions", 'currency' => "SGD" ]; $order = Order::addItem($order, $object, 25.5, 2, $data, 7);
向订单添加项目(非 Eloquent 风格)
订单 Order::addItemManual(Order $order, string $object_id, string $object_type, double $price, int $quantity, array $data = null, double $vat = 0)
$data = [ 'description' => "My item descriptions", 'currency' => "SGD" ]; $order = Order::addItem($order, 22, "App\Model\Object", 25.5, 2, $data, 7);
批量向订单添加项目
订单 Order::batchAddItems(Order $order, array $order_Items)
$order_Items = [ [ "description" => "Some Description", "currency" => "USD", "line_item_id" => 1, "line_item_type" => "App\\Models\\Package", "price" => 1802, "quantity" => 1, "vat" => 0, ], [ "description" => "Some Description", "currency" => "USD", "line_item_id" => 1, "line_item_type" => "App\\Models\\Package", "price" => 1802, "quantity" => 1, "vat" => 0, ] ]; $order = Order::batchAddItems($order, $order_Items);
获取订单
Order Order::getOrder(int $order_id);
获取用户的订单
Collection Order::getUserOrders(int $user_id);
更新订单状态
boolean Order::updateStatus(int $order_id, string $status);
删除订单
boolean Order::deleteOrder(int $order_id);
更新订单数量
OrderItem Order::updateQty(int $item_id, int qty);
计算订单总金额
float Order::total(Order $order);
计算订单总项目数
int Order::count(Order $order);