Browse Source

Update Report model, add new methods

Daniel Supernault 7 years ago
parent
commit
1a0661aec3
1 changed files with 38 additions and 0 deletions
  1. 38 0
      app/Report.php

+ 38 - 0
app/Report.php

@@ -0,0 +1,38 @@
+<?php
+
+namespace App;
+
+use Illuminate\Database\Eloquent\Model;
+
+class Report extends Model
+{
+    public function url()
+    {
+      return url('/i/admin/reports/show/' . $this->id);
+    }
+
+    public function reporter()
+    {
+      return $this->belongsTo(Profile::class, 'profile_id');
+    }
+
+    public function reported()
+    {
+      $class = $this->object_type;
+      switch ($class) {
+        case 'App\Status':
+         $column = 'id';
+          break;
+        
+        default:
+         $column = 'id';
+          break;
+      }
+      return (new $class())->where($column, $this->object_id)->firstOrFail();
+    }
+
+    public function reportedUser()
+    {
+      return $this->belongsTo(Profile::class, 'reported_profile_id', 'id');
+    }
+}