Blame view
app/Models/User.php
4.79 KB
02a1ed535 Первый коммит Rek... |
1 2 3 4 5 |
<?php namespace App\Models; // use Illuminate\Contracts\Auth\MustVerifyEmail; |
4882dedc8 verfiy emails |
6 |
use Illuminate\Contracts\Auth\MustVerifyEmail; |
02a1ed535 Первый коммит Rek... |
7 |
use Illuminate\Database\Eloquent\Factories\HasFactory; |
f86fd56d9 task-132985 autor... |
8 |
use Illuminate\Database\Eloquent\Relations\HasMany; |
02a1ed535 Первый коммит Rek... |
9 10 |
use Illuminate\Foundation\Auth\User as Authenticatable; use Illuminate\Notifications\Notifiable; |
5c0ae0519 task-132687 minor... |
11 |
use JsonException; |
02a1ed535 Первый коммит Rek... |
12 |
use Laravel\Sanctum\HasApiTokens; |
4882dedc8 verfiy emails |
13 |
class User extends Authenticatable implements MustVerifyEmail |
02a1ed535 Первый коммит Rek... |
14 15 16 17 18 19 20 21 |
{ use HasApiTokens, HasFactory, Notifiable; /** * The attributes that are mass assignable. * * @var array<int, string> */ |
fce775cb9 Раздел в таблице ... |
22 |
|
02a1ed535 Первый коммит Rek... |
23 24 25 26 |
protected $fillable = [ 'name', 'email', 'password', |
8de035475 Создание: Структу... |
27 28 29 30 31 32 33 |
'admin', 'telephone', 'surname', 'name_man', 'surname2', 'is_worker', 'is_lookin', |
36b239fd9 user role fixes |
34 35 |
'show_database', 'can_autolift', |
8de035475 Создание: Структу... |
36 37 |
'is_message', 'is_public', |
ac8b91cfd Обновление системы. |
38 |
'is_worker', |
8de035475 Создание: Структу... |
39 40 41 |
'is_remove', 'is_ban', 'is_new', |
313a7a805 Работа с разделом... |
42 |
'is_bd', |
ad6e7ea05 Правки авторизаци... |
43 44 |
'email_verified_at', 'created_at', |
313a7a805 Работа с разделом... |
45 |
'updated_at', |
0961cd3e6 Модель программы ... |
46 |
'birthday', |
673a7768d Правки в админке,... |
47 48 |
'file', 'pubpassword', |
fce775cb9 Раздел в таблице ... |
49 |
'is_manager', |
f3766c7c1 Коммит по регистр... |
50 51 |
'subscribe_email', 'subscribe', |
8ec6b4403 task-132985 autor... |
52 53 |
'autoresponder', 'autoresponder_message', |
02a1ed535 Первый коммит Rek... |
54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 |
]; /** * 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 Создание: Структу... |
74 75 76 77 78 |
/* * Связь Пользователей системы с работодателями * users - employers */ |
f86fd56d9 task-132985 autor... |
79 80 |
public function employers(): HasMany { |
c84db5243 Форма редактирова... |
81 |
return $this->hasMany(Employer::class, 'user_id'); |
8de035475 Создание: Структу... |
82 83 84 85 86 87 88 |
} /* * Связь Пользователей системы с работниками * users - workers */ public function workers() { |
c84db5243 Форма редактирова... |
89 |
return $this->hasMany(Worker::class, 'user_id'); |
8de035475 Создание: Структу... |
90 91 92 |
} /* |
be3039cb9 Правки по работод... |
93 94 95 96 |
* Связь Пользователей системы с работниками * users - workers */ public function work() { |
5c0ae0519 task-132687 minor... |
97 98 |
return $this->hasMany(Worker::class, 'user_id') ->select('telephone', 'email', 'position_work', 'persent_anketa'); |
be3039cb9 Правки по работод... |
99 100 101 |
} /* |
29350503f Расширение полей ... |
102 |
* Связь Модели Пользователей(Users) с Группами (Group_users) |
8de035475 Создание: Структу... |
103 |
* users - group_users |
29350503f Расширение полей ... |
104 105 106 107 |
многие-ко-многим */ public function ingroup() { return $this->belongsToMany(Group_user::class, 'group_works'); |
8de035475 Создание: Структу... |
108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 |
} /* * Связь Пользователей системы с ссобщениями * users - messages */ public function messages() { return $this->hasMany(Message::class); } /* * Связь Пользователей системы с статистика * users - static_workers */ public function static_user() { return $this->hasMany(Static_worker::class); } |
29350503f Расширение полей ... |
125 126 127 128 129 130 131 |
/* * Связь модели Юзеры (users) с моделью Группы пользователей (Group_works) один-ко-многим */ public function peoples() { return $this->hasMany(Group_works::class); } |
be3039cb9 Правки по работод... |
132 133 134 135 136 137 |
/* * Связь Модели Пользователей(Users) с Группами (Group_users) * users - group_users многие-ко-многим */ public function jobtitles() { |
d4632b7a2 Анкета работника |
138 |
return $this->belongsToMany(Job_title::class, 'workers', 'user_id', 'position_work'); |
be3039cb9 Правки по работод... |
139 |
} |
29350503f Расширение полей ... |
140 141 142 |
public function scopeActive($query) { return $query->where('is_remove', '=', '0'); } |
8de035475 Создание: Структу... |
143 |
|
5131abdbe fixes |
144 |
public function scopeIsWorker($query) { |
9b4580039 Медиа сущность, д... |
145 146 |
return $query->where('is_worker', '=', '1'); } |
5131abdbe fixes |
147 148 149 |
public function scopeIsLookin($query) { return $query->where('is_lookin', '=', '1'); } |
9b4580039 Медиа сущность, д... |
150 |
|
313a7a805 Работа с разделом... |
151 152 153 154 155 156 157 |
public function scopeBaseuser($query) { return $query->where('is_bd', '=', '1'); } public function scopeRealuser($query) { return $query->where('is_bd', '=', '0'); } |
eb8596db6 Правки вакансии, ... |
158 159 160 161 162 163 164 |
public function scopeAdmin($query) { return $query->where('admin', '=', '1'); } public function scopeNotadmin($query) { return $query->where('admin', '=', '0'); } |
5c0ae0519 task-132687 minor... |
165 166 167 168 169 170 171 172 173 174 175 176 177 |
/** * @throws JsonException */ public function getJobAttribute(): ?string { $positions = $this->workers[0]?->positions_work; if (is_string($positions)) { $jobIds = json_decode($positions, true, 512, JSON_THROW_ON_ERROR); } else { $jobIds = $positions; } if ($jobIds !== null && count($jobIds) > 0) { |
8ec6b4403 task-132985 autor... |
178 |
return Job_title::whereIn('id', $jobIds)->first()?->name; |
5c0ae0519 task-132687 minor... |
179 180 181 |
} return null; } |
02a1ed535 Первый коммит Rek... |
182 |
} |