init(collection(self::select())->toArray(), 'pid'); return $tree->getTreeArray(0); } public static function getTreeList() { $tree = Tree::instance(); $tree->init(collection(self::select())->toArray(), 'pid'); return $tree->getTreeList($tree->getTreeArray(0), 'name'); } public function getPidAttr($value, $data) { return $data['parent_id']; } public function parent() { return $this->belongsTo('Category', 'parent_id', 'id', [], 'LEFT')->setEagerlyType(0); } public function getCreateTimeTextAttr($value, $data) { $value = $value ? $value : (isset($data['create_time']) ? $data['create_time'] : ''); return is_numeric($value) ? date("Y-m-d H:i:s", $value) : $value; } protected function setCreateTimeAttr($value) { return $value === '' ? null : ($value && !is_numeric($value) ? strtotime($value) : $value); } }