【发布时间】:2016-08-11 17:37:23
【问题描述】:
在我的一个 Mongo 集合中,我在每个 Document 上都有一个 startedAt 属性,如果我发送 AJAX 请求以直接从 Mongo 获取文档,则日期将作为普通 Date 对象返回,我可以按预期使用它,但是,如果我尝试从 Laravel 查询,我会得到一个没有任何内容的 UTCDateTime 对象,如果我尝试打印 dd 它,我只会打印 null。
以下是我发送给 Mongo 的控制器中的查询:
public function player($accountId)
{
$skip = 0;
$take = 10;
if(isset($_GET['skip'])) $skip = (int)$_GET['skip'];
if(isset($_GET['take'])) $take = (int)$_GET['take'];
$matches = Match::where(['players' => array('$elemMatch' => array('accountId' => $accountId))])
->skip($skip)
->take($take)
->get();
return $matches;
}
集合中的所有其他字段都可以在刀片中访问,但startedAt 始终返回null。我在 Mongo Chef 中进行了检查,所有日期都保存为Date,它们的格式都类似于:2016-08-10T00:15:14.251Z。为什么 Laravel 无法处理 mongo 日期,或者我在这里遗漏了一些明显的东西?
【问题讨论】: