diff --git a/app/admin/controller/v1/Product.php b/app/admin/controller/v1/Product.php index 3e169fd9..10945fe6 100644 --- a/app/admin/controller/v1/Product.php +++ b/app/admin/controller/v1/Product.php @@ -90,6 +90,15 @@ class Product } $product->params = implode(PHP_EOL, $params); + // 获取sku数据 + $product->skus = ProductSkuModel::withoutField(['created_at', 'updated_at']) + ->with(['attrs' => function($query) { + $query->hidden(['sku_id']); + }]) + ->productId($product->id) + ->select() + ->hidden(['id', 'product_id']); + // 获取关联产品 $product->related = ProductRelatedModel::field([ 'related_product_id', diff --git a/app/admin/model/v1/ProductSkuModel.php b/app/admin/model/v1/ProductSkuModel.php index 62e95a2e..9f0959b9 100644 --- a/app/admin/model/v1/ProductSkuModel.php +++ b/app/admin/model/v1/ProductSkuModel.php @@ -16,6 +16,12 @@ class ProductSkuModel extends ProductSkuBaseModel // 设置JSON数据返回数组 protected $jsonAssoc = true; + // 关联产品sku属性 + public function attrs() + { + return $this->hasMany(ProductSkuAttrModel::class, 'sku_id', 'id'); + } + // 所属产品查询 public function scopeProductId($query, $id) {