HEX
Server: Microsoft-IIS/8.5
System: Windows NT YDAWBH120 6.3 build 9600 (Windows Server 2012 R2 Standard Edition) AMD64
User: tentjecom_web (0)
PHP: 7.4.14
Disabled: NONE
Upload Files
File: D:/HostingSpaces/SBogers10/ste.komma.pro/app/Vacancies/VacancyService.php
<?php


namespace App\Vacancies;


use App\Base\Service;
use App\Vacancies\Models\Vacancy;
use Carbon\Carbon;
use http\Exception\RuntimeException;

final class VacancyService extends Service
{

    /**
     * Base query for get vacancy from DB
     *
     * @return \Illuminate\Database\Eloquent\Relations\BelongsToMany
     */
    private function baseVacancyQuery()
    {
        return Vacancy::where('active', 1)
            ->with('translation')
            ->whereHas('translation', function ($q) {
                $q->whereNotNull('name')
                    ->where('name','!=', '');
            })
            ->orderBy('lft');
    }

    /**
     * Get all vacancies
     *
     * @return \Illuminate\Database\Eloquent\Collection
     */
    public function getVacancies()
    {
        return $this->baseVacancyQuery()->get();
    }

    /**
     * Get other vacancies except this proved one
     *
     * @param  int  $currentVacancyId
     * @param  int  $amount
     * @return \Illuminate\Database\Eloquent\Collection|\Illuminate\Support\Collection
     */
    public function getOtherVacancies(int $currentVacancyId, int $amount = 3)
    {
        return $this->baseVacancyQuery()
            ->where('id', '!=', $currentVacancyId)
            ->take($amount)
            ->get();
    }

}