| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 | 
							- <?php
 
- namespace App;
 
- use Carbon\Carbon;
 
- class Post extends Model
 
- {
 
-     /**
 
-      * These fields are OK for mass assignement.
 
-      *
 
-      * @var array
 
-      */
 
-     protected $fillable = ['body', 'title', 'user_id'];
 
-     /**
 
-      * @param string $body
 
-      */
 
-     public function addComment(string $body)
 
-     {
 
- //      Comment::create([
 
- //          'body' => $body,
 
- //          'post_id' => $this->id,
 
- //      ]);
 
-         $this->comments()->create(compact('body'));
 
-     }
 
-     public function comments()
 
-     {
 
-         return $this->hasMany(Comment::class);
 
-     }
 
-     public function user()
 
-     {
 
-         return $this->belongsTo(User::class);
 
-     }
 
-     /**
 
-      * Enables a "filter()" method on Post queries.
 
-      */
 
-     public function scopeFilter($query, array $filters = [])
 
-     {
 
-         if ($month = $filters['month'] ?? NULL)
 
-         {
 
-             /* When parsing just a month name, Carbon returns a date built
 
-             from the current date at midnight, with the month replaced by the
 
-             specified month name */
 
-             $query->whereMonth('created_at', Carbon::parse($month)->month);
 
-         }
 
-         if ($year = (int) $filters['year'] ?? NULL)
 
-         {
 
-             /* When parsing just a month name, Carbon returns a date built
 
-             from the current date at midnight, with the month replaced by the
 
-             specified month name */
 
-             $query->whereYear('created_at', $year);
 
-         }
 
-         return $query;
 
-     }
 
- }
 
 
  |