Files
CKB-Interface/application/store/model/VendorPackageModel.php
2026-03-24 10:39:16 +08:00

73 lines
1.4 KiB
PHP

<?php
namespace app\store\model;
use think\Model;
/**
* 供应商套餐模型
*/
class VendorPackageModel extends Model
{
// 设置表名
protected $name = 'vendor_package';
// 主键
protected $pk = 'id';
// 自动写入时间戳
protected $autoWriteTimestamp = true;
protected $createTime = 'createTime';
protected $updateTime = 'updateTime';
// 类型转换
protected $type = [
'tags' => 'array',
];
/**
* 与项目的关联
*/
public function projects()
{
return $this->hasMany('VendorProjectModel', 'packageId', 'id')
->where('isDel', 0);
}
/**
* 标签获取器
*/
public function getTagsAttr($value)
{
if (empty($value)) {
return [];
}
if (is_array($value)) {
return $value;
}
return array_filter(explode(',', $value));
}
/**
* 标签修改器
*/
public function setTagsAttr($value)
{
return is_array($value) ? implode(',', $value) : $value;
}
/**
* 折扣获取器
*/
public function getDiscountAttr($value, $data)
{
if (empty($data['originalPrice']) || $data['originalPrice'] <= 0) {
return '原价';
}
$discount = round((floatval($data['price']) / floatval($data['originalPrice'])) * 10, 1);
return $discount . '折';
}
}