Blame view
app/Models/Worker.php
3.86 KB
02a1ed535 Первый коммит Rek... |
1 2 3 |
<?php namespace App\Models; |
ad0b69c97 task-132687 tasks... |
4 |
use Illuminate\Database\Eloquent\Builder; |
02a1ed535 Первый коммит Rek... |
5 6 7 8 9 10 |
use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; class Worker extends Model { use HasFactory; |
8de035475 Создание: Структу... |
11 |
|
73209e6cb Изменения для раз... |
12 |
protected $table = 'workers'; |
684588031 Баг с заголовком ... |
13 |
|
8de035475 Создание: Структу... |
14 15 16 17 |
protected $fillable = [ 'user_id', 'status_work', 'position_work', |
2b8dd10cb Правки по задачам |
18 |
'positions_work', |
8de035475 Создание: Структу... |
19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
'telephone', 'telephone2', 'persent_anketa', 'photo', 'email_data', 'status_profile', 'old_year', 'experience', 'en_is', 'education', 'email', 'interpassport', 'mk', 'vvp', 'vlm', 'reka_diplom', 'more_diplom', 'mpss', 'tanker', 'gmssb', 'resume', 'sort', 'updated_at', 'text', 'address', 'city', |
29350503f Расширение полей ... |
45 46 47 |
'coord', 'file', 'is_remove', |
32cbe7736 Обновление блейдо... |
48 |
'favorite_user', |
d4632b7a2 Анкета работника |
49 50 51 52 53 54 55 56 |
'sroch_user', 'salary_expectations', 'english_level', 'ready_boart_date', 'boart_type_preference', 'visa_available', 'tanker_documents_available', 'confirmation_work_for_vvp', |
0e7702a32 task-132687 minor... |
57 58 |
'military_id_available', 'comment' |
8de035475 Создание: Структу... |
59 |
]; |
2b8dd10cb Правки по задачам |
60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 |
/** * Получить значение поля positions_work как массив. * * @param string $value * @return array */ public function getPositionsWorkAttribute($value) { return json_decode($value, true); } /** * Установить значение поля positions_work как JSON. * * @param array|string $value * @return void */ public function setPositionsWorkAttribute($value) { $this->attributes['positions_work'] = is_array($value) ? json_encode($value) : $value; } |
8de035475 Создание: Структу... |
81 82 83 84 85 86 |
/* * Связь таблицы users с таблицей workers */ public function users() { return $this->belongsTo(User::class, 'user_id'); } |
29350503f Расширение полей ... |
87 |
|
a13ce8670 Обновление проект... |
88 89 90 91 92 93 94 |
// Связь Работника с сертификами (0-0 - 1) public function sertificate() { return $this->hasMany(sertification::class); } // Связь Работника с должностями (0-0 - 1) public function job_titles() { |
99a41e761 Личный кабинет по... |
95 |
return $this->belongsToMany(Job_title::class, 'title_workers'); |
a13ce8670 Обновление проект... |
96 97 98 99 100 101 |
} //Связь Работника с опытом работы (1 - 0-0) public function place_worker() { return $this->hasMany(place_works::class); } |
29350503f Расширение полей ... |
102 103 104 |
public function scopeActive($query) { return $query->where('is_remove', '=', '0'); } |
a13ce8670 Обновление проект... |
105 106 107 108 109 110 111 112 |
//Связь Работника с предыдущими компаниями public function prev_company() { return $this->hasMany(PrevCompany::class); } //Связь Работника с инфоблоками (0-0 - 0-0) public function infobloks() { |
0e7702a32 task-132687 minor... |
113 114 115 116 117 118 |
return $this->belongsToMany( infobloks::class, 'dop_info', 'worker_id', 'infoblok_id' )->withPivot('status'); |
a13ce8670 Обновление проект... |
119 |
} |
f3766c7c1 Коммит по регистр... |
120 |
|
3a2da2a11 Экспорт данных в ... |
121 122 123 124 125 126 127 |
/* * Связь модели Работники (Workers) с моделью Вакансии работника (worker_jobs) один-ко-многим */ public function worker_job() { return $this->hasMany(worker_jobs::class); } |
492296b6f Коммит по итогу п... |
128 129 |
//Связи Работника с дополнительными public function dop_info() { |
7243b8e24 Обновление проект... |
130 |
return $this->hasMany(Dop_info::class, 'worker_id'); |
492296b6f Коммит по итогу п... |
131 |
} |
0ea985223 Коммит по диалога... |
132 133 134 |
public function response() { return $this->hasMany(ResponseWork::class); } |
2b8dd10cb Правки по задачам |
135 136 137 138 139 |
public function getJobsAttribute() { $job_titles_ids = json_decode($this->attributes['positions_work'], true); return Job_title::whereIn('id', $job_titles_ids)->get(); } |
8ec6b4403 task-132985 autor... |
140 141 142 143 144 |
public function autoliftOptions() { return $this->hasOne(WorkerAutoliftOption::class); } |
02a1ed535 Первый коммит Rek... |
145 |
} |