postMusicCategoryRel = $postMusicCategoryRel; $this->postMusicCategory = $postMusicCategory; $this->postMusicUser = $postMusicUser; } //热门音乐列表 public function lists($request) { $perPage = isset($request['per_page']) ? $request['per_page'] : 20; $music_key = config('constants.MUSIC_LIST'); if (Cache::has($music_key)) { return Cache::store('redis')->get($music_key); } $category_name = '热门'; $postMusicCategoryRel = $this->postMusicCategoryRel ->join('post_music_category', 'post_music_category.id', '=', 'post_music_category_rel.music_category_id') ->join('post_music', 'post_music.id', '=', 'post_music_category_rel.mid') ->select('post_music.*') ->where('post_music_category.name', 'like', "%{$category_name}%") ->orderBy('id', 'desc') ->paginate($perPage); if (!Cache::has($music_key)) { Cache::store('redis')->put($music_key, $postMusicCategoryRel, 604800);//一周过期 } return $postMusicCategoryRel; } public function category_list($request) { $perPage = isset($request['per_page']) ? $request['per_page'] : 20; return $this->postMusicCategory->where('is_open',1)->orderBy('id', 'asc')->paginate($perPage); } public function postMusicList($request) { $perPage = isset($request['per_page']) ? $request['per_page'] : 20; $postMusicList = $this->postMusicCategoryRel ->join('post_music_category', 'post_music_category.id', '=', 'post_music_category_rel.music_category_id') ->join('post_music', 'post_music.id', '=', 'post_music_category_rel.mid') ->select('post_music.*') ->where(['post_music_category.id' => $request['category_id'], 'post_music_category.is_open' => 1]) ->orderBy('id', 'desc') ->paginate($perPage); return $postMusicList; } public function create($request) { $data = [ 'name' => $request['name'], 'username' => $request['username'], 'url' => $request['url'] ?? '', 'uid' => $request['uid'] ]; $music_create = $this->postMusicUser->create($data); if (!$music_create) { return jsonError('上传失败请重试'); } } }