我对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忽略了我最后的陈述,我该如何解决这个问题?
答案 0 :(得分:0)
有人发布了答案,然后将其删除。 我需要添加这一行
->where(function ($query) use ($searchDate){
$query->orwhere('updated_at', '>=', $searchDate);
})