GoodsSpec.php
1.7 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
<?php
namespace app\admin\model;
use think\Model;
class GoodsSpec extends Model
{
// 表名
protected $name = 'goods_spec';
// 自动写入时间戳字段
protected $autoWriteTimestamp = 'int';
// 定义时间戳字段名
protected $createTime = 'createtime';
protected $updateTime = 'updatetime';
protected $deleteTime = false;
/**
* 批量添加商品sku记录
*/
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,
]);
}
return $this->saveAll($data);
}
/**
* 添加商品规格关系记录
*/
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['spec_id'],
'spec_value_id' => $item['spec_value_id'],
];
}, $val['spec_value_list']);
}, $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();
}
}