update order and order item db model

This commit is contained in:
2026-01-29 15:53:41 +08:00
parent 4e21ebfe5f
commit adc6ca4488
2 changed files with 25 additions and 13 deletions
+11 -5
View File
@@ -4,7 +4,7 @@ declare(strict_types=1);
namespace App\Model;
use Hyperf\DbConnection\Model\Model;
use App\Model\OrderItem;
/**
* @property int $id 主键
@@ -58,13 +58,19 @@ class Order extends Model
*/
protected array $casts = ['id' => 'integer', 'company_id' => 'integer', 'platform_id' => 'integer', 'store_id' => 'integer', 'order_status_id' => 'integer', 'payment_method_id' => 'integer', 'presale' => 'boolean', 'order_type_id' => 'integer', 'created_at' => 'datetime', 'updated_at' => 'datetime'];
/**
* Get the order items for the order.
* 获取订单子项(基于 hypertable 分区键查询)
*
* @return \Hyperf\Database\Model\Collection
*/
public function items()
public function getOrderItems()
{
return $this->hasMany(OrderItem::class, 'order_id', 'id');
return OrderItem::query()
->where('platform_id', $this->platform_id)
->where('store_id', $this->store_id)
->where('platform_order_id', $this->platform_order_id)
->where('created_date', $this->created_date)
->get();
}
}
+14 -8
View File
@@ -4,8 +4,6 @@ declare(strict_types=1);
namespace App\Model;
use Hyperf\DbConnection\Model\Model;
/**
* @property int $id 主键
* @property int $company_id 公司 ID 与 Tools 保持一致
@@ -23,9 +21,10 @@ use Hyperf\DbConnection\Model\Model;
* @property int $quantity 商品子项总数量
* @property string $discount 订单子项总的折扣金额
* @property string $total 总金额 = 单价X数量 - 折扣
* @property string $created_date 订单创建时间(与父订单 created_date 一致,hypertable 分区键)
* @property string $ext 扩展字段
* @property \Carbon\Carbon $created_at
* @property \Carbon\Carbon $updated_at
* @property \Carbon\Carbon $created_at
* @property \Carbon\Carbon $updated_at
* @mixin \App_Model_OrderItem
*/
class OrderItem extends Model
@@ -38,7 +37,7 @@ class OrderItem extends Model
/**
* The attributes that are mass assignable.
*/
protected array $fillable = ['id', 'company_id', 'platform_id', 'store_id', 'order_id', 'platform_order_id', 'sub_order_id', 'sub_order_type_id', 'product_id', 'platform_product_id', 'product_sku', 'product_barcode', 'unit_price', 'quantity', 'discount', 'total', 'ext', 'created_at', 'updated_at'];
protected array $fillable = ['id', 'company_id', 'platform_id', 'store_id', 'order_id', 'platform_order_id', 'sub_order_id', 'sub_order_type_id', 'product_id', 'platform_product_id', 'product_sku', 'product_barcode', 'unit_price', 'quantity', 'discount', 'total', 'created_date', 'ext', 'created_at', 'updated_at'];
/**
* The attributes that should be cast to native types.
@@ -46,10 +45,17 @@ class OrderItem extends Model
protected array $casts = ['id' => 'integer', 'company_id' => 'integer', 'platform_id' => 'integer', 'store_id' => 'integer', 'order_id' => 'integer', 'sub_order_type_id' => 'integer', 'product_id' => 'integer', 'quantity' => 'integer', 'created_at' => 'datetime', 'updated_at' => 'datetime'];
/**
* Get the order that owns the order item.
* 获取父订单(基于 hypertable 分区键查询)
*
* @return Order|null
*/
public function order()
public function getParentOrder(): ?Order
{
return $this->belongsTo(Order::class, 'order_id', 'id');
return Order::query()
->where('platform_id', $this->platform_id)
->where('store_id', $this->store_id)
->where('platform_order_id', $this->platform_order_id)
->where('created_date', $this->created_date)
->first();
}
}