Blame view

app/Models/User.php 3.53 KB
02a1ed535   Андрей Ларионов   Первый коммит Rek...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
  <?php
  
  namespace App\Models;
  
  // use Illuminate\Contracts\Auth\MustVerifyEmail;
  use Illuminate\Database\Eloquent\Factories\HasFactory;
  use Illuminate\Foundation\Auth\User as Authenticatable;
  use Illuminate\Notifications\Notifiable;
  use Laravel\Sanctum\HasApiTokens;
  
  class User extends Authenticatable
  {
      use HasApiTokens, HasFactory, Notifiable;
  
      /**
       * The attributes that are mass assignable.
       *
       * @var array<int, string>
       */
      protected $fillable = [
          'name',
          'email',
          'password',
8de035475   Андрей Ларионов   Создание: Структу...
24
25
26
27
28
29
30
31
32
33
34
35
          'admin',
          'telephone',
          'surname',
          'name_man',
          'surname2',
          'is_worker',
          'is_lookin',
          'is_message',
          'is_public',
          'is_remove',
          'is_ban',
          'is_new',
313a7a805   Андрей Ларионов   Работа с разделом...
36
          'is_bd',
ad6e7ea05   Андрей Ларионов   Правки авторизаци...
37
38
          'email_verified_at',
          'created_at',
313a7a805   Андрей Ларионов   Работа с разделом...
39
          'updated_at',
0961cd3e6   Андрей Ларионов   Модель программы ...
40
41
          'birthday',
          'file'
02a1ed535   Андрей Ларионов   Первый коммит Rek...
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
      ];
  
      /**
       * The attributes that should be hidden for serialization.
       *
       * @var array<int, string>
       */
      protected $hidden = [
          'password',
          'remember_token',
      ];
  
      /**
       * The attributes that should be cast.
       *
       * @var array<string, string>
       */
      protected $casts = [
          'email_verified_at' => 'datetime',
      ];
8de035475   Андрей Ларионов   Создание: Структу...
62
63
64
65
66
67
  
      /*
      * Связь Пользователей системы с работодателями
       * users - employers
      */
      public function employers() {
c84db5243   Андрей Ларионов   Форма редактирова...
68
          return $this->hasMany(Employer::class, 'user_id');
8de035475   Андрей Ларионов   Создание: Структу...
69
70
71
72
73
74
75
      }
  
      /*
       * Связь Пользователей системы с работниками
       * users - workers
      */
      public function workers() {
c84db5243   Андрей Ларионов   Форма редактирова...
76
          return $this->hasMany(Worker::class, 'user_id');
8de035475   Андрей Ларионов   Создание: Структу...
77
78
79
      }
  
      /*
be3039cb9   Андрей Ларионов   Правки по работод...
80
81
82
83
84
85
86
87
          * Связь Пользователей системы с работниками
          * users - workers
      */
      public function work() {
          return $this->hasMany(Worker::class, 'user_id')->select('telephone', 'email', 'position_work', 'persent_anketa');
      }
  
      /*
29350503f   Андрей Ларионов   Расширение полей ...
88
        * Связь Модели Пользователей(Users) с Группами (Group_users)
8de035475   Андрей Ларионов   Создание: Структу...
89
        * users - group_users
29350503f   Андрей Ларионов   Расширение полей ...
90
91
92
93
          многие-ко-многим
     */
      public function ingroup() {
          return $this->belongsToMany(Group_user::class, 'group_works');
8de035475   Андрей Ларионов   Создание: Структу...
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
      }
  
      /*
       * Связь Пользователей системы с ссобщениями
       * users - messages
      */
      public function messages() {
          return $this->hasMany(Message::class);
      }
  
      /*
       * Связь Пользователей системы с статистика
       * users - static_workers
      */
      public function static_user() {
          return $this->hasMany(Static_worker::class);
      }
29350503f   Андрей Ларионов   Расширение полей ...
111
112
113
114
115
116
117
      /*
      * Связь модели Юзеры (users) с моделью Группы пользователей (Group_works)
          один-ко-многим
      */
      public function peoples() {
          return $this->hasMany(Group_works::class);
      }
be3039cb9   Андрей Ларионов   Правки по работод...
118
119
120
121
122
123
124
125
      /*
      * Связь Модели Пользователей(Users) с Группами (Group_users)
      * users - group_users
          многие-ко-многим
      */
      public function jobtitles() {
          return $this->belongsToMany(Job_title::class, 'Workers', 'user_id', 'position_work');
      }
29350503f   Андрей Ларионов   Расширение полей ...
126
127
128
      public function scopeActive($query) {
          return $query->where('is_remove', '=', '0');
      }
8de035475   Андрей Ларионов   Создание: Структу...
129

313a7a805   Андрей Ларионов   Работа с разделом...
130
131
132
133
134
135
136
      public function scopeBaseuser($query) {
          return $query->where('is_bd', '=', '1');
      }
  
      public function scopeRealuser($query) {
          return $query->where('is_bd', '=', '0');
      }
02a1ed535   Андрей Ларионов   Первый коммит Rek...
137
  }