我正在尝试使用laravel db从我的数据库中获取一些数据,并且会引发错误
$most_purchased_day = (int)Data::select('type')
->whereDate('created_at', '=', date('d'))
->groupBy('type')
->orderByRaw('COUNT(*) DESC')
->first()->network_id;
$most_purchased_day = (int)Data::select('type')
->whereDate('created_at', '=', date('d'))
->groupBy('type')
->orderByRaw('COUNT(*) DESC')
->first()->network_id;
我希望输出结果基于网络ID是购买最多的商品
答案 0 :(得分:0)
由于created_at
的碳素实例与date('d')
不匹配,因此未检索到第一个用户
更改代码以改为使用today()帮助器
$most_purchased_day = (int)Data::select('type')
->whereDate('created_at', '=', today())
->groupBy('type')
->orderByRaw('COUNT(*) DESC')
->first()->network_id;
假设今天创建了一个雄辩的模型
App\Data {
id: 1,
created_at: "2019-09-22 13:15:19",
updated_at: "2019-09-22 13:15:19",
}
date('d')
仅返回一个整数,该整数是当前月份的天数(22),不能与2019-09-22 13:15:19
参见PHP:date
使用whereDay
$most_purchased_day = (int)Data::select('type')
->whereDay('created_at', '=', date('d'))
->groupBy('type')
->orderByRaw('COUNT(*) DESC')
->first()->network_id;
whereDate / whereMonth / whereDay / whereYear / whereTime
whereDay
方法可用于将列的值与一个月的特定日期进行比较:
$users = DB::table('users')
->whereDay('created_at', '31')
->get();