Product.php
2.6 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
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
<?php
namespace App\Models\Product;
use App\Helper\Arr;
use App\Models\Base;
use Illuminate\Database\Eloquent\SoftDeletes;
/**
* @method static get()
*/
class Product extends Base
{
use SoftDeletes;
//设置关联表名
protected $table = 'gl_product';
//连接数据库
protected $connection = 'custom_mysql';
const STATUS_DRAFT = 0;
const STATUS_ON = 1;
const STATUS_RECYCLE = 2;
public static function statusMap(){
return [
self::STATUS_DRAFT => '草稿',
self::STATUS_ON => '已发布',
self::STATUS_RECYCLE => '回收站',
];
}
/**
* @var 获取产品类型
*/
public $productType = [
1=>'一般产品',
2=>'推荐产品',
3=>'热销产品'
];
public function getThumbAttribute($value){
if(!empty($value)){
$value = json_decode($value,true);
$value['url'] = getImageUrl($value['url']);
}
return $value;
}
public function getGalleryAttribute($value){
if(!empty($value)){
$value = Arr::s2a($value);
foreach ($value as $k => $v){
$v['url'] = getImageUrl($v['url']);
$value[$k] = $v;
}
}
return $value;
}
/**
* @remark :图标获取器
* @name :getGalleryAttribute
* @author :lyh
* @method :post
* @time :2023/7/21 11:11
*/
public function getIconAttribute($value){
if(!empty($value)){
$value = Arr::s2a($value);
foreach ($value as $k => $v){
$v = getImageUrl($v);
$value[$k] = $v;
}
}
return $value;
}
public function getAttrsAttribute($value){
return Arr::s2a($value);
}
public function getDescribeAttribute($value){
return Arr::s2a($value);
}
public function getSeoMateAttribute($value){
return Arr::s2a($value);
}
public function getCategoryIdAttribute($value){
return Arr::setToArr(trim($value,','));
}
public function getAttrIdAttribute($value){
return Arr::setToArr($value);
}
public function getDescribeIdAttribute($value){
return Arr::setToArr($value);
}
public function getKeywordIdAttribute($value){
return Arr::setToArr(trim($value,','));
}
public function getRelatedProductIdAttribute($value){
return Arr::setToArr($value);
}
// public static function getNumByProjectId($project_id){
// return self::where('project_id', $project_id)->where('status', self::STATUS_ON)->count();
// }
}