Laravel返回UTCDateTime而不是Carbon实例.为什么


Laravel returning UTCDateTime instead of Carbon instance. Why?

我有一个模型,其中包含以下内容:

protected $dates = ['created_at','modified_at','deleted_at', 'my_date'];

相同的模型嵌入到另一个文档中(使用Mongo)。

现在,当我试图通过以下操作获得模型中的最小和最大日期:

 $minDate = $doctor->cases()->min('embedded_doc.my_date');
 $maxDate = $doctor->cases()->max('embedded_doc.my_date');

我得到的是UTCDateTime而不是Carbon的实例。文档指出,如果我在$dates数组中列出日期,它将返回Carbon实例。我不清楚。我错过了什么?

这是因为当您运行minmax查询时,它返回单个值,而不是模型的对象。

这就是为什么它不能转化为碳。

你也可以这样写:

$doctor->cases()->orderBy('my_date')->select('my_date')->first()->my_date;