/** * Display a listing of the resource. * * @return \Illuminate\Http\Response */ public function index() { if (auth()->check()) { $statuses = Status::notReply()->where(function ($query) { return $query->where('user_id', auth()->user()->id)->orWhereIn('user_id', auth()->user()->friends()->lists('id')); })->orderBy('created_at', 'desc')->paginate(10); return view('timeline.index', compact('statuses')); } return view('home'); }
public function postReply(Request $request, $statusId) { $this->validate($request, ["reply-{$statusId}" => 'required|max:1000'], ['required' => 'The reply body is required']); $status = Status::notReply()->find($statusId); if (!$status) { return redirect()->route('home'); } if (!auth()->user()->isFriendsWith($status->user) && auth()->user()->id !== $status->user->id) { return redirect()->route('home'); } $reply = Status::create(['body' => $request->input("reply-{$statusId}")])->user()->associate(auth()->user()); $status->replies()->save($reply); return redirect()->back(); }