gpt4 book ai didi

php - Laravel 4 Eloquent 查询

转载 作者:行者123 更新时间:2023-11-29 06:36:45 28 4
gpt4 key购买 nike

我正在尝试按今天的日期查询“created_at”字段:

$today = DATE('Y-m-d');
$logs = DB::table('bglogs')->where('DATE('created_at')','=',$today)->where('user_id','=',Auth::user()->id)->get();

它告诉我 DATE('created_at') 是一个未知列?任何建议,对 Eloquent 来说相对较新,所以我确信我错过了一些明显的东西。

提前致谢!

编辑:2014 年 6 月 10 日

需要注意的是,我不得不稍微调整一下,因为它要返回所有记录而不是特定日期。不知道为什么。我终于让这个正常工作了。再次感谢所有回答的人,我希望这次更新对以后的其他人有所帮助:

$logs = DB::select(DB::raw("SELECT * FROM bglogs WHERE DATE(created_at) = :today AND user_id = :user"), array('today'=>DATE('Y-m-d'), 'user'=>Auth::user()->id));

最佳答案

如果你想使用 mysql 函数,你必须使用 whereRaw 并将其写在一个字符串中。

在其他地方,如果第二个参数等于(=),则可以跳过。

$today = DATE('Y-m-d');
$logs = DB::table('bglogs')
->select(DB::raw('*'))
->whereRaw("DATE('created_at') = " . $today)
->where('user_id', Auth::user()->id)
->get();

希望对你有帮助。

如果您只使用一次 var,我建议您不要声明别名:

$logs = DB::table('bglogs')
->select(DB::raw('*'))
->whereRaw("DATE('created_at') = " . DATE('Y-m-d'))
->where('user_id', Auth::user()->id)
->get();

关于php - Laravel 4 Eloquent 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24129908/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com