This repository has been archived on 2024-07-11. You can view files and clone it, but cannot push or open issues or pull requests.
yoshop/source/application/store/model/GoodsSku.php

71 lines
1.8 KiB
PHP
Raw Normal View History

2020-04-25 22:20:29 +08:00
<?php
namespace app\store\model;
use app\common\model\GoodsSku as GoodsSkuModel;
/**
* 商品规格模型
* Class GoodsSku
* @package app\store\model
*/
class GoodsSku extends GoodsSkuModel
{
/**
* 批量添加商品sku记录
* @param $goods_id
* @param $spec_list
* @return array|false
* @throws \Exception
*/
public function addSkuList($goods_id, $spec_list)
{
$data = [];
foreach ($spec_list as $item) {
$data[] = array_merge($item['form'], [
'spec_sku_id' => $item['spec_sku_id'],
'goods_id' => $goods_id,
'wxapp_id' => self::$wxapp_id,
]);
}
return $this->allowField(true)->saveAll($data);
}
/**
* 添加商品规格关系记录
* @param $goods_id
* @param $spec_attr
* @return array|false
* @throws \Exception
*/
public function addGoodsSpecRel($goods_id, $spec_attr)
{
$data = [];
array_map(function ($val) use (&$data, $goods_id) {
array_map(function ($item) use (&$val, &$data, $goods_id) {
$data[] = [
'goods_id' => $goods_id,
'spec_id' => $val['group_id'],
'spec_value_id' => $item['item_id'],
'wxapp_id' => self::$wxapp_id,
];
}, $val['spec_items']);
}, $spec_attr);
$model = new GoodsSpecRel;
return $model->saveAll($data);
}
/**
* 移除指定商品的所有sku
* @param $goods_id
* @return int
*/
public function removeAll($goods_id)
{
$model = new GoodsSpecRel;
$model->where('goods_id','=', $goods_id)->delete();
return $this->where('goods_id','=', $goods_id)->delete();
}
}