我试图访问存储在数据库表中的日期,并将其与当前日期进行比较,以便获得天数,但它显示此错误
Patient_PatientEmailAddress
这是我的控制器中使用的代码
DateTime::__construct(): Failed to parse time string ([{"quit_date":null},{"quit_date":null}]) at position 0 ([): Unexpected character
但是如果我手动设置$quit_date = Information::select('quit_date')
->where('user_id','=',\Auth::user()->id)
->get();
$date = new Carbon($quit_date);
$now = Carbon::now();
$day = $date->diffInDays($now);
的日期为例如“ 2019-04-25 00:00:00.000000” ,则代码可以正常工作并显示不同日期之间的日期日期,但是当我使用$quit_date
从数据库中读取日期时,它显示错误。
答案 0 :(得分:0)
use Auth; //top of controller
$checkdate = Information::
->where('user_id','=',Auth::user()->id)
->first();
$quit_date=$checkdate->quit_date;
$date = new Carbon($quit_date);
$now = Carbon::now();
$day = $date->diffInDays($now);
答案 1 :(得分:0)
发生此问题是因为您在查询末尾使用zip
。该方法返回->get()
而不是单个对象。通过使用Collection
返回单个对象可以解决此问题。
错误本身是因为在->first()
行中,Carbon无法将$date = new Carbon($quit_date);
转换为日期。
这应该有效:
Collection