public function store2(Request $request) { $this->validate($request, ['ft_id' => 'required', 'content' => 'required_with:title', 'title' => 'max:255']); $favorite = new Ftfav(); $favorite->user_id = $request->user()->id; $favorite->ft_id = $request->input('ft_id'); $favorite->created_at = new Carbon(); if ($request->has('content')) { $review = new Ftrev(); $review->user_id = $favorite->user_id; $review->ft_id = $request->input('ft_id'); $review->title = $request->input('title'); $review->content = $request->input('content'); if ($review->save()) { DB::table('fts')->where('id', $review->ft_id)->increment('reviews'); } else { return redirect()->back()->withInput()->withErrors('添加失败'); } } if ($favorite->save()) { DB::table('fts')->where('id', $favorite->ft_id)->increment('favorites'); return redirect()->route('ft.show', [$favorite->ft_id]); } else { return redirect()->back()->withInput()->withErrors('评论添加成功,收藏添加失败!'); } }
public function favorites($id) { $ft = Ft::find($id, ['id', 'title']); $favorites = Ftfav::with(['user' => function ($query) { $query->select('id', 'name'); }])->select('user_id', 'created_at')->where('ft_id', $id)->orderBy('created_at')->paginate(20); return view('ft.favorites', ['ft' => $ft, 'favorites' => $favorites]); }
public function zhoubian() { $newsongs = Song::select('id', 'title', 'alias', 'artist')->orderBy('id', 'desc')->take(15)->get(); $songrevs = Songrev::with(['user' => function ($query) { $query->select('id', 'name'); }, 'song' => function ($query) { $query->select('id', 'title'); }])->orderBy('id', 'desc')->take(10)->get(); $hotrevsongs = Songrev::with(['song' => function ($query) { $query->select('id', 'title', 'artist'); }])->where('created_at', '>=', date("Y-m-d H:i:s", strtotime("-30 day")))->select(DB::raw('count(*) as review_count, song_id'))->groupBy('song_id')->orderBy('review_count', 'desc')->take(15)->get(); $hotfavsongs = Songfav::with(['song' => function ($query) { $query->select('id', 'title', 'artist'); }])->where('created_at', '>=', date("Y-m-d H:i:s", strtotime("-30 day")))->select(DB::raw('count(*) as favorite_count, song_id'))->groupBy('song_id')->orderBy('favorite_count', 'desc')->take(15)->get(); $newcreatedfteps = Ftep::with(['ft' => function ($query) { $query->select('id', 'title', 'host'); }])->select('id', 'ft_id', 'title', 'release_date')->orderBy('id', 'desc')->take(10)->get(); $ftrevs = Ftrev::with(['user' => function ($query) { $query->select('id', 'name'); }, 'ft' => function ($query) { $query->select('id', 'title'); }, 'ftep' => function ($query) { $query->select('id', 'title'); }])->orderBy('id', 'desc')->take(10)->get(); $hotrevfts = Ftrev::with(['ft' => function ($query) { $query->select('id', 'title'); }])->where('created_at', '>=', date("Y-m-d H:i:s", strtotime("-30 day")))->select(DB::raw('count(*) as review_count, ft_id'))->groupBy('ft_id')->orderBy('review_count', 'desc')->take(10)->get(); $hotfavfts = Ftfav::with(['ft' => function ($query) { $query->select('id', 'title'); }])->where('created_at', '>=', date("Y-m-d H:i:s", strtotime("-30 day")))->select(DB::raw('count(*) as favorite_count, ft_id'))->groupBy('ft_id')->orderBy('favorite_count', 'desc')->take(10)->get(); $todaylives = Live::select('id', 'title', 'showtime')->whereRaw('date(showtime) = curdate()')->orderBy('showtime')->get(); $newlives = Live::select('id', 'title', 'showtime')->orderBy('id', 'desc')->take(15)->get(); $liverevs = Liverev::with(['user' => function ($query) { $query->select('id', 'name'); }, 'live' => function ($query) { $query->select('id', 'title', 'showtime'); }])->orderBy('id', 'desc')->take(10)->get(); $hotrevlives = Liverev::with(['live' => function ($query) { $query->select('id', 'title', 'showtime'); }])->where('created_at', '>=', date("Y-m-d H:i:s", strtotime("-30 day")))->select(DB::raw('count(*) as review_count, live_id'))->groupBy('live_id')->orderBy('review_count', 'desc')->take(15)->get(); $hotfavlives = Livefav::with(['live' => function ($query) { $query->select('id', 'title', 'showtime'); }])->where('created_at', '>=', date("Y-m-d H:i:s", strtotime("-30 day")))->select(DB::raw('count(*) as favorite_count, live_id'))->groupBy('live_id')->orderBy('favorite_count', 'desc')->take(15)->get(); return view('zhoubian', ['newsongs' => $newsongs, 'songrevs' => $songrevs, 'hotrevsongs' => $hotrevsongs, 'hotfavsongs' => $hotfavsongs, 'newcreatedfteps' => $newcreatedfteps, 'ftrevs' => $ftrevs, 'hotrevfts' => $hotrevfts, 'hotfavfts' => $hotfavfts, 'todaylives' => $todaylives, 'newlives' => $newlives, 'liverevs' => $liverevs, 'hotrevlives' => $hotrevlives, 'hotfavlives' => $hotfavlives]); }
public function ftfavs(Request $request, $id) { if ($request->has('order')) { $order = $request->input('order'); } else { $order = 'desc'; } $ftfavs = Ftfav::with(['ft' => function ($query) { $query->select('id', 'title', 'host', 'poster_url', 'introduction'); }])->select('ft_id', 'created_at')->where('user_id', $request->user()->id)->orderBy('created_at', $order)->paginate(50); return view('user.ftfavs', ['user' => User::find($id, ['id', 'name']), 'ftfavs' => $ftfavs, 'order' => $order]); }