['category_type', 'name', 'is_goods', 'status'], ]; } public function queryWhere() { $where = []; if (isset($this->params['platform_appid']) && !empty($this->params['platform_appid'])) { $ids = GoodsLogic::getPlatformCategoryIds($this->params['platform_appid']); $where[] = ['id','in' ,$ids]; } return $where; } /** * @notes 获取列表 * @return array * @throws \think\db\exception\DataNotFoundException * @throws \think\db\exception\DbException * @throws \think\db\exception\ModelNotFoundException * @author whitef * @date 2024/07/07 18:23 */ public function lists(): array { $lists = GoodsCategory::where($this->searchWhere)->where($this->queryWhere())->where('status',1) ->field(['id', 'pid' ,'picture', 'name']) ->order(['weigh' => 'desc']) ->select() ->toArray(); return linear_to_tree($lists, 'children', 'id', 'pid'); } /** * @notes 获取数量 * @return int * @author whitef * @date 2024/07/07 18:23 */ public function count(): int { return GoodsCategory::where($this->searchWhere)->where($this->queryWhere())->count(); } }