PluginProbe
FluentCommunity – Ultra-Fast High-Performance Social Network, Community, LMS & Online Courses / 1.0.94
FluentCommunity – Ultra-Fast High-Performance Social Network, Community, LMS & Online Courses v1.0.94
2.10.0 2.10.01 2.9.1 2.9.0 2.8.1 2.8.0 2.7.7 2.7.5 2.7.0 2.6.01 2.6.0 2.5.0 2.4.01 trunk 1.0.90 1.0.91 1.0.92 1.0.93 1.0.94 1.0.95 1.0.96 1.0.97 1.0.98 1.0.99 1.1.0 All 77 releases
fluent-community / app / Models / NotificationSubscription.php

NotificationSubscription.php in FluentCommunity – Ultra-Fast High-Performance Social Network, Community, LMS & Online Courses 1.0.94, at app/Models/NotificationSubscription.php

62 lines 1.3 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace FluentCommunity\App\Models;
4
5 use FluentCommunity\App\Models\XProfile;
6 use FluentCommunity\App\Models\User;
7
8 /**
9 * Meta Model - DB Model for Notifications table
10 *
11 * Database Model
12 *
13 * @package FluentCommunity\App\Models
14 *
15 * @version 1.0.0
16 */
17 class NotificationSubscription extends Model
18 {
19 protected $table = 'fcom_notification_users';
20
21 protected $primaryKey = 'id';
22
23 protected $guarded = ['id'];
24
25 protected $fillable = [
26 'object_id',
27 'user_id',
28 'is_read',
29 'object_type',
30 'notification_type'
31 ];
32
33 protected static function boot()
34 {
35 parent::boot();
36
37 static::creating(function ($model) {
38 $model->object_type = 'notification_pref';
39 });
40
41 static::updating(function ($model) {
42 $model->object_type = 'notification_pref';
43 });
44
45 // Add global scope to get only notifications
46 static::addGlobalScope('notification', function ($builder) {
47 $builder->where('object_type', 'notification_pref');
48 });
49 }
50
51 public function user()
52 {
53 return $this->belongsTo(User::class, 'user_id');
54 }
55
56 public function xprofile()
57 {
58 return $this->belongsTo(XProfile::class, 'user_id', 'user_id');
59 }
60
61 }
62