Как написать правильный запрос, чтобы получить не удаленные строки? - PullRequest
0 голосов
/ 23 марта 2019

У меня есть users таблица, и я использую softDeletes() в своей таблице.Также у меня есть таблица candidates, где есть внешний ключ (user_id) для users таблицы.

В общем, как я могу получить кандидатов, пользователи которых не удалены?

Вот мой код дляполучить кандидатов с не удаленными пользователями:

$candidates = Candidate::all();
$activeCandidates = [];
foreach ($candidates as $candidate) {
    if($candidate->user) {
        $activeCandidates[] = $candidate;
    }
}

Может быть решена моя проблема без зацикливания с подзапросом?

1 Ответ

2 голосов
/ 23 марта 2019

has() - для фильтрации выбранной модели на основе отношения.Таким образом, он действует очень похоже на нормальное состояние ГДЕ.Если вы просто используете has('relation'), это означает, что вы хотите получить только те модели, которые имеют хотя бы одну связанную модель в этом отношении.

$candidates = Candidate::has('user')->get();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...