我正在尝试从Model" Users"中提取对象。其created_at
日期已超过今天30天。
Carbon :: now()==>我想要==> Carbon :: now() - 30days
$users = Users::where('status_id', 'active')
->where( 'created_at', '<', Carbon::now())
->get();
如何实现这一目标?
答案 0 :(得分:72)
使用subDays()
方法:
$users = Users::where('status_id', 'active')
->where( 'created_at', '>', Carbon::now()->subDays(30))
->get();
答案 1 :(得分:2)
从 Laravel 5.6 开始,您可以使用 whereDate:
$users = Users::where('status_id', 'active')
->whereDate( 'created_at', '>', now()->subDays(30))
->get();
你还有 whereMonth / whereDay / whereYear / whereTime
答案 2 :(得分:0)
您始终可以使用strtotime减去从当前日期算起的天数:
$users = Users::where('status_id', 'active')
->where( 'created_at', '>', date('Y-m-d', strtotime("-30 days"))
->get();