Goods.php 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. <?php
  2. namespace app\common\model;
  3. use think\Model;
  4. class Goods extends Model
  5. {
  6. // 表名
  7. protected $name = 'goods';
  8. // 自动写入时间戳字段
  9. protected $autoWriteTimestamp = 'integer';
  10. // 定义时间戳字段名
  11. protected $createTime = 'createtime';
  12. protected $updateTime = 'updatetime';
  13. protected $deleteTime = false;
  14. // 追加属性
  15. protected $append = [
  16. 'videos',
  17. 'download_file_basename'
  18. ];
  19. protected static function init()
  20. {
  21. self::afterInsert(function ($row) {
  22. if (!$row['weigh']) {
  23. $pk = $row->getPk();
  24. $row->getQuery()->where($pk, $row[$pk])->update(['weigh' => $row[$pk]]);
  25. }
  26. if (empty($row['spu_id'])) {
  27. $pk = $row->getPk();
  28. $row->getQuery()->where($pk, $row[$pk])->update(['spu_id' => $row[$pk]]);
  29. }
  30. });
  31. }
  32. public function category()
  33. {
  34. return $this->hasOne('Category', 'id', 'category_id');
  35. }
  36. public function getPrimaryImageAttr($value)
  37. {
  38. return $value;
  39. }
  40. public function getImagesArrAttr($value, $data)
  41. {
  42. $urlsArray = explode(',', trim($data['images']));
  43. // array_walk($urlsArray, function(&$url) use ($domain) {
  44. // $url = $domain . '/' . trim($url);
  45. // });
  46. return $urlsArray;
  47. }
  48. public function getVideosAttr($value, $data)
  49. {
  50. return explode(',', trim($data['video']));
  51. }
  52. public function getDownloadFileBasenameAttr($value, $data)
  53. {
  54. return pathinfo($data['download_file'] ?? '', PATHINFO_BASENAME);
  55. }
  56. public function getDescAttr($value, $data)
  57. {
  58. return $data['content'];
  59. }
  60. public function getSkuListAttr($value)
  61. {
  62. return [];
  63. }
  64. }