Я новичок в 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
.