Ad_employer.php 1.98 KB
<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;

class Ad_employer extends Model
{
    use HasFactory;

    protected $fillable = [
        'name',
        'telephone',
        'email',
        'salary',
        'category_id',
        'text',
        'employer_id',
        'city',
        'sort',
        'is_remove',
        'active_is',
        'status',
        'sroch_vacancy',
        'favorite_vacancy'
      ];
    /*
     * Связь таблицы employers с таблицей ad_employers
     многие-к-одному
    */
    public function employer() {
        return $this->belongsTo(Employer::class, 'employer_id');
    }

    /*
    * Связь модели Вакансии (Ad_employer) с моделью Должности (Job_title)
      многие-ко-многим
    */
    public function jobs() {
        return $this->belongsToMany(Job_title::class, 'ad_jobs');
    }

    // Связь модели Вакансии с моделью Коды должностей и вакансий
    public function jobs_code() {
        return $this->hasMany(Ad_jobs::class);
    }

    /*
    * Связь модели Вакансия (Ad_employers) с моделью Отклик на Вакансию (Ad_response)
      один-ко-многим
    */
    public function response() {
        return $this->hasMany(ad_response::class);
    }

    // Связь модели Категории (Categories) с моделью Вакансии
    public function cat() {
        return $this->hasMany(Category::class, 'id');
    }


    public function scopeActive($query) {
        return $query->where('is_remove', '=', '0');
    }

    //
    public function ad_job() {
        return $this->hasMany(Ad_jobs::class);
    }

    // Связь Вакансии с должностями (0-0 - 1)
    public function job_titles() {
        return $this->belongsToMany(Job_title::class, 'title_workers');
    }
}