PlaceController.php 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. <?php
  2. namespace App\Http\Controllers;
  3. use Illuminate\Http\Request;
  4. use App\{
  5. Place,
  6. Status
  7. };
  8. class PlaceController extends Controller
  9. {
  10. public function show(Request $request, $id, $slug)
  11. {
  12. $place = Place::whereSlug($slug)->findOrFail($id);
  13. $posts = Status::wherePlaceId($place->id)
  14. ->whereNull('uri')
  15. ->whereScope('public')
  16. ->orderByDesc('created_at')
  17. ->simplePaginate(10);
  18. return view('discover.places.show', compact('place', 'posts'));
  19. }
  20. public function directoryHome(Request $request)
  21. {
  22. $places = Place::select('country')
  23. ->distinct('country')
  24. ->simplePaginate(48);
  25. return view('discover.places.directory.home', compact('places'));
  26. }
  27. public function directoryCities(Request $request, $country)
  28. {
  29. $country = urldecode($country);
  30. $places = Place::whereCountry($country)
  31. ->orderBy('name', 'asc')
  32. ->distinct('name')
  33. ->simplePaginate(48);
  34. return view('discover.places.directory.cities', compact('places'));
  35. }
  36. }