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