Place.php 788 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. <?php
  2. namespace App;
  3. use Illuminate\Database\Eloquent\Model;
  4. class Place extends Model
  5. {
  6. protected $visible = ['id', 'name', 'country', 'slug'];
  7. public function url()
  8. {
  9. return url('/discover/places/' . $this->id . '/' . $this->slug);
  10. }
  11. public function posts()
  12. {
  13. return $this->hasMany(Status::class);
  14. }
  15. public function postCount()
  16. {
  17. return $this->posts()->count();
  18. }
  19. public function statuses()
  20. {
  21. return $this->hasMany(Status::class, 'id', 'place_id');
  22. }
  23. public function countryUrl()
  24. {
  25. $country = strtolower($this->country);
  26. $country = urlencode($country);
  27. return url('/discover/location/country/' . $country);
  28. }
  29. public function cityUrl()
  30. {
  31. return $this->url();
  32. }
  33. public function getName()
  34. {
  35. return $this->name . ', ' . $this->country;
  36. }
  37. }