Goodscats.php 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. <?php
  2. namespace app\admin\model;
  3. use think\Model;
  4. use fast\Tree;
  5. class Goodscats extends Model
  6. {
  7. // 表名
  8. protected $name = 'goods_cats';
  9. // 自动写入时间戳字段
  10. protected $autoWriteTimestamp = false;
  11. // 定义时间戳字段名
  12. protected $createTime = false;
  13. protected $updateTime = false;
  14. protected $deleteTime = false;
  15. // 追加属性
  16. protected $append = [
  17. 'create_time_text',
  18. 'pid'
  19. ];
  20. public static function getTreeArray() {
  21. $tree = Tree::instance();
  22. $tree->init(collection(self::select())->toArray(), 'pid');
  23. return $tree->getTreeArray(0);
  24. }
  25. public static function getTreeList() {
  26. $tree = Tree::instance();
  27. $tree->init(collection(self::select())->toArray(), 'pid');
  28. return $tree->getTreeList($tree->getTreeArray(0), 'name');
  29. }
  30. public function getPidAttr($value, $data) {
  31. return $data['parent_id'];
  32. }
  33. public function parent()
  34. {
  35. return $this->belongsTo('Category', 'parent_id', 'id', [], 'LEFT')->setEagerlyType(0);
  36. }
  37. public function getCreateTimeTextAttr($value, $data)
  38. {
  39. $value = $value ? $value : (isset($data['create_time']) ? $data['create_time'] : '');
  40. return is_numeric($value) ? date("Y-m-d H:i:s", $value) : $value;
  41. }
  42. protected function setCreateTimeAttr($value)
  43. {
  44. return $value === '' ? null : ($value && !is_numeric($value) ? strtotime($value) : $value);
  45. }
  46. }