82 lines
1.8 KiB
PHP
82 lines
1.8 KiB
PHP
<?php
|
|
|
|
namespace app\common\model;
|
|
|
|
use think\Model;
|
|
|
|
|
|
class Goods extends Model
|
|
{
|
|
|
|
// 表名
|
|
protected $name = 'goods';
|
|
|
|
// 自动写入时间戳字段
|
|
protected $autoWriteTimestamp = 'integer';
|
|
|
|
// 定义时间戳字段名
|
|
protected $createTime = 'createtime';
|
|
protected $updateTime = 'updatetime';
|
|
protected $deleteTime = false;
|
|
|
|
// 追加属性
|
|
protected $append = [
|
|
'videos',
|
|
'download_file_basename'
|
|
];
|
|
|
|
protected static function init()
|
|
{
|
|
self::afterInsert(function ($row) {
|
|
if (!$row['weigh']) {
|
|
$pk = $row->getPk();
|
|
$row->getQuery()->where($pk, $row[$pk])->update(['weigh' => $row[$pk]]);
|
|
}
|
|
if (empty($row['spu_id'])) {
|
|
$pk = $row->getPk();
|
|
$row->getQuery()->where($pk, $row[$pk])->update(['spu_id' => $row[$pk]]);
|
|
}
|
|
});
|
|
}
|
|
|
|
public function category()
|
|
{
|
|
return $this->hasOne('Category', 'id', 'category_id');
|
|
}
|
|
|
|
public function getPrimaryImageAttr($value)
|
|
{
|
|
return $value;
|
|
}
|
|
|
|
public function getImagesArrAttr($value, $data)
|
|
{
|
|
$urlsArray = explode(',', trim($data['images']));
|
|
// array_walk($urlsArray, function(&$url) use ($domain) {
|
|
// $url = $domain . '/' . trim($url);
|
|
// });
|
|
|
|
return $urlsArray;
|
|
}
|
|
|
|
public function getVideosAttr($value, $data)
|
|
{
|
|
return explode(',', trim($data['video']));
|
|
}
|
|
|
|
public function getDownloadFileBasenameAttr($value, $data)
|
|
{
|
|
return pathinfo($data['download_file'] ?? '', PATHINFO_BASENAME);
|
|
}
|
|
|
|
public function getDescAttr($value, $data)
|
|
{
|
|
return $data['content'];
|
|
}
|
|
|
|
public function getSkuListAttr($value)
|
|
{
|
|
return [];
|
|
}
|
|
}
|