Как получить информацию о вакансии в blade с помощью laravel

Я создаю приложение для поиска работы. В этом приложении люди могут загружать свое резюме и получать приглашения от работодателя. Работодатели будут загружать свои вакансии. Итак, у меня здесь 2 типа пользователей Employee и Employer. На данный момент проекты почти завершены, но я борюсь с одной проблемой. Позвольте мне сначала объяснить сценарий. У меня есть таблица в моей базе данных: users

id     username

================================================== ========================= vacancies

id     vacancy_title      user_id

================================================== =========================

resumes

id      resume_title     user_id

================================================== =========================

Когда сотрудник (держатель резюме) видит вакансию, он может перейти по ссылке interested. Я сохраняю эти клики в таблице pivot, которая выглядит так:

user_vacancy

id    user_id       vacancy_id

Итак, я создал many to many relationship между пользователями (в сводной таблице: держатель резюме) таким образом я сохраняю клики (заинтересованные) держателем резюме (пользователем). Поэтому в панели управления работодателя мне нужно показать список всех кликов (заинтересованных) пользователей, которые возобновляются. Итак, я сделал это до сих пор:

в моем контроллере:

public function getListOfclicksResumes()
    {


   $user = User::find(Auth::id());

    $myvacancies = $user->vacancies;
    $users       = [];
    foreach ($myvacancies as $vac):
        foreach ($vac->clickedusers as $emp):
            $users[] = $emp;
        endforeach;
    endforeach;

    return view('employer.clicks.index', compact('users'));
} 

Итак, в приведенном выше коде вы можете увидеть, что сначала я получаю текущего пользователя, который является работодателем. и конечно у работодателя много вакансий. поэтому я получаю все вакансии для этого текущего пользователя (работодателя), а затем получаю clicked users (resume holders) и передаю эту коллекцию в лезвие.

Затем в Blade:

    @foreach($users as $singleUser)
            @foreach($singleUser->resumes as $resume)

//displaying resume holders list here..

            @endforeach  
   @endforeach 

Теперь все работает нормально, кроме одного:

Если Сотрудник перешел по интересующей ссылке на 2 вакансии от одного и того же Работодателя. Я получу этого пользователя 2 раза. И это абсолютно нормально, но тогда мне нужно показать здесь, на какую вакансию щелкнул этот пользователь. потому что у работодателя много вакансий.

Итак, как я могу получить эту модальную вакансию также с пользовательской коллекцией?

Надеюсь, мой вопрос ясен. Если нет, пожалуйста, спросите, я предоставлю более подробную информацию.

Спасибо.

Не могли бы вы показать нам соответствующие определения relationship.

waterloomatt 10.08.2018 14:42

На модели User у меня есть: `public function vacancies () {return $ this-> hasMany (Vacancy :: class); } `публичная функция resumes () {return $ this-> hasMany (Resume :: class); } `и на модели Vacancy у меня есть:` public function clickedusers () {return $ this-> ownToMany (User :: class); } `

TrueCode 10.08.2018 14:48

Один из способов сделать это - вместо передачи $users вашему представлению передать $user->vacancies и выполнить цикл в представлении. Таким образом у вас будет доступ к $vac и $users.

waterloomatt 10.08.2018 14:59

Но тогда этот путь будет повторяться столько раз, сколько вакансий будет? я хочу запустить цикл только сколько кликов (пользователей) есть

TrueCode 10.08.2018 15:01

есть надежда?) кто-нибудь?

TrueCode 10.08.2018 15:45
1
5
62
0

Другие вопросы по теме