Laravel Eloquent 查询使用 WHERE 和 AND orWhere
Posted
技术标签:
【中文标题】Laravel Eloquent 查询使用 WHERE 和 AND orWhere【英文标题】:Laravel Eloquent Query Using WHERE with AND orWhere 【发布时间】:2020-01-01 18:30:00 【问题描述】:我是 Laravel 的初学者。在我的项目 Laravel 5.8 中使用。 我有这个数组:
array:4 [
0 => 1
1 => 3
2 => 4
3 => 5
]
和功能:
public function getPaymentMethods(array $paymentId)
dd($paymentId);
return PaymentSettings::where('id', '=', $paymentId)->get();
它不起作用,因为在 $paymentId 我有数组。 如何更改我的代码函数以与数组一起使用(许多 where/orWhere)?
我需要这样的东西(但在 laravel 雄辩):
SELECT * from payment_settings where id = 1 or id = 3 or id = 4 or id = 5.
【问题讨论】:
【参考方案1】:你需要whereIn
,
return PaymentSettings::whereIn('id', $paymentId)->get();
注意: whereIn 方法验证是否包含给定列的值 在给定的数组内:
您可以查看详细文档here。
【讨论】:
【参考方案2】:where
子句不用于从数组中搜索,whereIn
用于。
用法-
return PaymentSettings::whereIn('id', $paymentId)->get();
【讨论】:
以上是关于Laravel Eloquent 查询使用 WHERE 和 AND orWhere的主要内容,如果未能解决你的问题,请参考以下文章
在 Eloquent 查询/Laravel 5.2 中使用变量
如何使用 Eloquent 在 Laravel 中开始查询?