Я хотел бы сохранить дату в формате 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);
Я хотел бы уточнить, что я использую Doctrine ODM для MongoDB в Symfony 4.
Итак, вот мои вопросы:
1) Как сохранить массив со связанными ключами?
2) Являются ли ключи в документе MongoDB «фиксированными»? Я имею в виду, уверен ли я, что ключ 0 всегда будет связан с $ day, а ключ 1 с $ month?