php - Laravel Eloquent 在查询中比较日期时遇到问题
问题描述
我对 Eloquent 有这个查询,由于某种原因,它似乎忽略了我最后的声明,即只返回等于或大于给定日期的日期。
$searchCriteriaArray
数组是我搜索的关键词(这有效)
$searchDate is the
我过滤的日期(这不起作用)
这是我的查询
$pool =User::select('id', 'email', 'updated_at', 'phone_number', 'headline','summary')
->where(function ($query) use ($searchCriteriaArray){
for($i =0; $i < count($searchCriteriaArray); $i++){
$query->orwhere('headline', 'like', '%' . $searchCriteriaArray[$i] . '%' );
}
})->orWhere(function ($query) use ($searchCriteriaArray){
for($i =0; $i < count($searchCriteriaArray); $i++){
$query->orwhere('summary', 'like', '%' . $searchCriteriaArray[$i] . '%' );
}
})->where('updated_at', '>= ',$searchDate)
->orderBy('updated_at', 'desc')
->paginate(50);
我看过其他一些帖子,包括Laravel Eloquent compare date from datetime field。然而这并没有解决我的问题。为什么 Eloquent 忽略了我最后的 where 语句,我该如何解决这个问题?
解决方案
有人发布了答案,然后将其删除。我需要添加这一行
->where(function ($query) use ($searchDate){
$query->orwhere('updated_at', '>=', $searchDate);
})
推荐阅读
- c++ - 为什么我们称数组为顺序容器?
- postgresql - Postgres:如何计算范围条件的记录?
- python - 如何重塑我的 Python 数据框以适应“PowerBI”维恩图?
- jenkins - 使用 .war 文件运行 jenkins 和使用安装程序有什么区别?
- regex - Notepad++ 突出显示两个方括号之间的任何内容
- javascript - 使用分页过滤数据
- redis - 在同一个 Redis 中将所有 KEYS 从一个数据库复制到另一个数据库
- machine-learning - 更准确的是:CNN 的集合还是弱学习器与神经网络元学习器的集合?
- javascript - 我想知道js的const声明类型
- swiftui - SwiftUI 应用程序在 macOS 环境中运行时崩溃