Place.php 832 B

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