Laravel框架中如何获取数据库当日发布的文章链接?
嘿,这个需求在Laravel里其实有几种简洁直观的实现方式,我给你梳理一下:
获取当日发布的文章链接
方法一:用whereDate快速筛选(推荐)
Laravel查询构造器自带的whereDate方法专门用来匹配日期部分,搭配today()辅助函数可以一步到位筛选出今日发布的文章,再用pluck提取链接字段就行:
// 假设你的链接字段名为url,可根据实际表结构修改 $todayArticleLinks = Article::whereDate('created_at', today())->pluck('url');
today()会返回当前日期的Carbon实例(仅包含年月日),刚好和whereDate的筛选逻辑匹配,非常简洁。
方法二:用whereBetween指定时间范围
如果需要更明确的时间区间(比如从今日0点到当前时刻),可以用whereBetween来限定范围:
$todayArticleLinks = Article::whereBetween('created_at', [ today()->startOfDay(), // 今日00:00:00 now() // 当前时间 ])->pluck('url');
这种写法和whereDate效果一致,但更直观展示了时间范围边界。
在视图中展示链接
如果要把这些链接渲染到页面上,直接循环输出即可:
@foreach($todayArticleLinks as $link) <a href="{{ $link }}" target="_blank">今日文章</a> @endforeach
需要注意:确保articles表的created_at字段是datetime或timestamp类型,这样Laravel的日期查询才能正常工作。
内容的提问来源于stack exchange,提问作者Valter Sousa Cardoso




