我有一个 Laravel 集合,其中每个元素都有键action,值可以是“手动”、“自动”和其他类型。我试图获取action“手动”或“自动”的所有元素,我尝试遵循 Laravel 集合方法,但它什么也不返回。
$manualTransactions = $allTransactions
->where('action','Manual')
->where('action','Used');
Run Code Online (Sandbox Code Playgroud)
但是,如果我尝试以下操作,它会返回action“Manual”所在的所有元素,如果我将“Manual”替换为“Used”,它也会返回action“Used”所在的所有元素
$manualTransactions = $allTransactions
->where('action','Manual');
Run Code Online (Sandbox Code Playgroud)
问题:如何获取action“手动”或“已使用”的所有元素?我看到了 Laravel 集合方法,但没有找到类似 orWhere 方法。
您可以使用whereIn():
$allTransactions->whereIn('action', ['Manual', 'Used']);
Run Code Online (Sandbox Code Playgroud)
或过滤器():
$allTransactions->filter(function ($item) {
return in_array($item->action, ['Manual', 'Used']);
});
Run Code Online (Sandbox Code Playgroud)
上面假设$item是一个对象,$item['action']如果是数组则使用。