【发布时间】:2019-05-20 22:28:07
【问题描述】:
我想将格式为 JJ/MM/YYYY 的日期存储到一个关联数组中,如下所示:
'day' => $day,
'month' => $month,
'year' => $year
我已经很容易做到了,但是一旦我尝试将文档存储在集合中,日期就会像这样存储在文档中:
0 => $day
1 => $month
2 => $year
我在“刷新”之前对对象进行了 PHP 调试,它显示了与值关联的键,但是一旦在集合中,它就被数字键重置了。
我的实体如下所示:
/**
* @MongoDB\Field(type="collection")
*/
private $date;
public function getDate()
{
return $this->date;
}
public function setDate($date)
{
$this->date = $date;
return $this;
}
还有控制器部分:
$date = $movie->getDate();
$keys = array('day', 'month', 'year');
$values = explode('/', $date);
$dateArray = array_combine($keys, $values);
$movie->setDate($dateArray);
我想确切地说,我在 Symfony 4 上使用 Doctrine ODM for MongoDB。
所以这是我的问题:
1)如何存储带有关联键的数组?
2) MongoDB 文档中的键是否“固定”?我的意思是,我确定密钥 0 将始终与 $day 相关联,而密钥 1 将始终与 $month 相关联吗?
【问题讨论】:
标签: php arrays mongodb symfony doctrine