laravel - 如何在 Laravel 中查询 created_at 字段

标签 laravel model laravel-5

当试图查找 created_at 时间大于某个值的所有记录时,它似乎不起作用。

例如我试过这个:

return Foo::where('created_at', '>', '1457408361')->get();

但它不断返回所有记录!

最佳答案

使用whereDate()查询方法:

$date = Carbon::yesterday(); // Create date however you want

Foo::whereDate('created_at', '>', $date);

如果您经常执行这些类型的查询,我会考虑将其包装到查询范围中:

use DateTimeInterface;

class Foo extends Model
{
    public function scopeCreatedAfter(DateTimeInterface $date)
    {
        return $query->whereDate('created_at', '>', $date);
    }
}

用法:

Foo::createdAfter($date)->get();

关于laravel - 如何在 Laravel 中查询 created_at 字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35859679/

相关文章:

php - 如何为 Laravel 5 设置数据库队列驱动程序?

php - 如何进行排除自定义属性集以附加模型的 Eloquent 查询?

jquery - Toastr 没有出现在 Laravel 5.4 中

mysql - 如果在 where 条件内满足条件则设置一个值

ruby-on-rails - Rails find_or_create_by 多个属性?

mysql - Cakephp:如果每个模型通过某个外键连接到其他模型,如何链接模型

php - 方法重构?

laravel - Laravel 中的 make() 方法有什么作用?

php - 遍历4个表时数据不一致

php - 从 View laravel 中的数据透视表获取数据