我有 Maxoffer 模型:
protected $dates = [
'start'
];
public function setStartAttribute($date){
$this->attributes['start']= Carbon::createFromFormat('m/d/Y h:i a', $date);
}
public function getStartAttribute($date){
return (new Carbon($date))->toRfc2822String();
}
在我的数据库中 start
以以下格式存储:2016-02-02 00:00:00
现在,当我尝试运行 WHERE
查询时:
$maxoffer = Maxoffer::where('article_id', $request->input('article_id'))
->where('start', $request->input('start'))
->first();
dd($maxoffer);
Input(start)
的格式为:2016-02-02 12:00 am 我也尝试以这种格式制作它:2016-02-02 00:00:00 但还是不要工作所以 dd 给我结果 null
我遇到了问题,因为我不知道如何比较开始和输入(开始)。如何使它们具有相同的格式...
我也不能改变:
public function getStartAttribute($date){
return (new Carbon($date))->toRfc2822String();
}
因为我需要这种格式的其他东西。
那么如何使这成为可能呢?
最佳答案
尝试下面将字符串转换为 Carbon 时间,然后 Eloquent 可以比较 DB 中的时间
->where('start', Carbon::parse($request->input('start')))
关于php - 比较时间时的 Laravel 问题 - 日期格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35385191/