Browse Source

Add new methods to Status model

Daniel Supernault 7 years ago
parent
commit
33af3cfe96
1 changed files with 31 additions and 1 deletions
  1. 31 1
      app/Status.php

+ 31 - 1
app/Status.php

@@ -3,8 +3,38 @@
 namespace App;
 namespace App;
 
 
 use Illuminate\Database\Eloquent\Model;
 use Illuminate\Database\Eloquent\Model;
+use Storage;
+use Vinkla\Hashids\Facades\Hashids;
 
 
 class Status extends Model
 class Status extends Model
 {
 {
-    //
+    public function profile()
+    {
+      return $this->belongsTo(Profile::class);
+    }
+
+    public function media()
+    {
+      return $this->hasMany(Media::class);
+    }
+
+    public function firstMedia()
+    {
+      return $this->hasMany(Media::class)->orderBy('order', 'asc')->first();
+    }
+
+    public function url()
+    {
+      $hid = Hashids::encode($this->id);
+      $username = $this->profile->username;
+      return url("/p/@{$username}/{$hid}");
+    }
+
+    public function mediaUrl()
+    {
+      $path = $this->firstMedia()->media_path;
+      $url = Storage::url($path);
+      return url($url);
+    }
+
 }
 }