【问题标题】:Laravel query data based on a columnLaravel 基于列查询数据
【发布时间】:2021-11-24 06:25:06
【问题描述】:

我有一个表basicinfo,其中有一列dateOfEnrollment,类型为date。我想查询所有注册4年以上的记录。我该怎么做?

【问题讨论】:

    标签: mysql laravel database eloquent


    【解决方案1】:

    最好的方法是使用碳。

    $now = Carbon::now();
    $now->subYears(4);
    $records = Model::whereDate('dateOfEnrollment', '>', $now)->get();
    

    【讨论】:

    • 我的列结构是日期的,所以它只能在日期上工作。 dateOfEnrollment 存储为“yyyy-mm-dd”
    • 从痛苦的经验来看,最好将它们存储为时间戳,而不是日期(即使时间部分无关紧要),然后将它们转换为模型中的日期。这将自动将日期作为 Carbon 对象返回。
    • 但是很抱歉,是的,它应该只适用于日期字段。如果您在时间戳字段上使用 whereDate(),它将忽略时间元素。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-29
    • 2021-11-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多