首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在laravel的where子句中过滤结果?

如何在laravel的where子句中过滤结果?
EN

Stack Overflow用户
提问于 2016-09-15 13:31:52
回答 3查看 252关注 0票数 0

我是第一次接触laravel,我正在构建一个小应用程序,当事件日期与当前日期相距一周时发出警报。下面是我的控制器代码

代码语言:javascript
复制
public function index()
{

    $domain_count = domain_details::get()->count();
    $domain_alert = domain_details::
    where('domain_ex_date','>',date('Y-m-d'))
    ->get();
 }

domain_ex_date的格式为(YYYY-mm-dd),由碳材料存储。当domain_ex_date不在当前日期时,where('domain_ex_date','>',date('Y-m-d'))这一行可以得到完整的记录。即2017-06-12 > 2016-09-15获得全部记录。这里我想要做的是,我想过滤并获得距离当前日期只有一周的记录。我该怎么做呢?我尝试过subweek()和subday(),但都没有用。

只有当记录满足此条件时,我才会获取该记录domain_ex_date - current date = 7

EN

回答 3

Stack Overflow用户

发布于 2016-09-15 13:51:14

您可以使用strtotime()

代码语言:javascript
复制
domain_details:: where('domain_ex_date','<',date('Y-m-d',strtotime("+7 days")))         
              -> where('domain_ex_date','>',date('Y-m-d'))
              ->get();
票数 1
EN

Stack Overflow用户

发布于 2016-09-15 14:59:03

使用Carbon!Carbon是一个内建的日期扩展...试试看!:)

代码语言:javascript
复制
$week = Carbon::now()->addWeek();
$now = Carbon::now();

domain_details::where("domain_ex_date","<" $week)
    ->where("domain_ex_date", ">" $now)
    ->get()

或者您也可以使用addDays($days)方法!

代码语言:javascript
复制
$week = Carbon::now()->addDays(7);    
票数 1
EN

Stack Overflow用户

发布于 2016-09-15 15:57:35

我用的是碳,这对我很有效

代码语言:javascript
复制
 $week = Carbon::now()->subWeek();
 $now = Carbon::now();

 $domain_count = domain_details::get()->count();
 $domain_alert = domain_details::where("domain_ex_date",">", $week)
                               ->where("domain_ex_date", "<" ,$now)
                               ->get();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39503734

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档