在Laravel中从db获取数据时出错

时间:2018-06-02 10:07:38

标签: mysql laravel laravel-5

我正在尝试获取与我的给定时间匹配的数据,我现在将时间作为字符串传递,但它会出错,

这是我的代码

$final_trade = FinalTrade::where('user_id', $user_id)
        ->where(Carbon::parse('created_at')->format('h:i:s'), '9.30.00')
        ->first();

这是错误,

DateTime::__construct(): Failed to parse time string (created_at) at position 0 (c): The timezone could not be found in the database

3 个答案:

答案 0 :(得分:1)

where方法中的第一个字段必须是表字段的名称

$final_trade = FinalTrade::where('user_id', $user_id)
        ->where('created_at', '9.30.00')
        ->first();

请阅读此laravel query builder

答案 1 :(得分:1)

您可以直接使用whereTime而无需解析,

$final_trade = FinalTrade::where('user_id', $user_id)
               ->whereTime('created_at', '=', '9:30:00')
                ->first();

答案 2 :(得分:0)

您需要在解析中传递日期而不是字符串https://carbon.nesbot.com/docs/ 阅读文档