]> BookStack Code Mirror - bookstack/blob - app/Activity/Models/Favourite.php
Merge pull request #5917 from BookStackApp/copy_references
[bookstack] / app / Activity / Models / Favourite.php
1 <?php
2
3 namespace BookStack\Activity\Models;
4
5 use BookStack\App\Model;
6 use BookStack\Permissions\Models\JointPermission;
7 use Illuminate\Database\Eloquent\Factories\HasFactory;
8 use Illuminate\Database\Eloquent\Relations\HasMany;
9 use Illuminate\Database\Eloquent\Relations\MorphTo;
10
11 class Favourite extends Model
12 {
13     use HasFactory;
14
15     protected $fillable = ['user_id'];
16
17     /**
18      * Get the related model that can be favourited.
19      */
20     public function favouritable(): MorphTo
21     {
22         return $this->morphTo();
23     }
24
25     public function jointPermissions(): HasMany
26     {
27         return $this->hasMany(JointPermission::class, 'entity_id', 'favouritable_id')
28             ->whereColumn('favourites.favouritable_type', '=', 'joint_permissions.entity_type');
29     }
30 }