Как вернуть все значения коллекции при использовании Laravel whenEmpty - PullRequest
0 голосов
/ 24 февраля 2020

Я новичок в Laravel и пытаюсь исправить чужой код.

Я выбираю пользователей (объединяю users таблицу и user_details таблицу) в коллекцию $users. Затем применив некоторые фильтры / условия к этому. Например, при сравнении родного языка (строки) с беглыми языками (массивом) я использую

    $users->whereIn('users.motherTongue', $detail->fluentIn);

. Мне также нужно сравнить user_details.fluentLanguage с $detail->fluentIn. Оба эти поля являются строковыми массивами (текст в БД). Я не думаю, что условие «где» поддерживает это, поэтому я пытаюсь это сделать.

    $fluentIn = $detail->fluentIn;
    $diff = $fluentIn->diff('user_details.fluentLanguage')->all();
    $users->whenEmpty(function ($diff) {
        return $users;
    });

Есть идеи, как это исправить? Или есть ли лучший способ сделать это? Мне нужно отфильтровать пользователей, сравнив user_details.fluentLanguage и $detail->fluentIn.

...