Как использовать или на коллекции Laravel

Как использовать или на коллекции Laravel

24.12.2019 07:02:53 Просмотров 34 Источник

У меня есть коллекция Laravel, где каждый элемент имеет ключевое actionи значение может быть "ручным", "автоматическим" и другими типами. Я пытаюсь получить все элементы, где actionлибо "ручное", либо "автоматическое" Я пытался следовать методу Laravel collection, но он ничего не возвращает.

$manualTransactions = $allTransactions
    ->where('action','Manual')
    ->where('action','Used');

Однако, если я попытаюсь сделать следующее, он вернет все элементы, где action"ручное", а также если я заменю "ручное" на "используемое", он вернет все элементы, где action"используется"

$manualTransactions = $allTransactions
    ->where('action','Manual');

Вопрос: Как получить все элементы, где action"ручное" или "используется"? Я видел методы сбора Laravel, но не нашел ничего похожего на метод orWhere.

У вопроса есть решение - Посмотреть?

https://stackoverflow.com/questions/59471151/how-to-use-or-on-laravel-collection#comment105120937_59471151
Вы могли бы использовать его вместо этого
https://stackoverflow.com/questions/59471151/how-to-use-or-on-laravel-collection#comment105121093_59471151
Спасибо you.it то, что я хочу.

Ответы - Как использовать или на коллекции Laravel / How to use OR on Laravel Collection

Является ответом!
Rwd

24.12.2019 07:09:51

Вы можете либо использовать where():

$allTransactions->whereIn('action', ['Manual', 'Used']);

Или фильтр():

$allTransactions->filter(function ($item) {
    return in_array($item->action, ['Manual', 'Used']);
});

Вышесказанное предполагает$itemявляется объектом, используйте $item['action'], если это массив.

Vikas Katariya

24.12.2019 08:26:46

Можно использовать whereIn , поскольку при этом используется несколько данных, как это

$allTransactions->whereIn('action', ['Manual', 'Used']);
https://stackoverflow.com/questions/59471151/how-to-use-or-on-laravel-collection/59471828#comment105122204_59471828
Надеюсь, это работа...!!!! Спасибо
Закрыть X