Всякий раз, когда я использую ArrayCollection с Doctrine ORM (2.3, PHP> 5.4) и связываю значения объекта с ключом в коллекции (например, при использовании метода set
), значения сохраняются правильно в базе данных. Но когда я хочу извлечь коллекцию из сущности, ключи не получаются, и вместо этого они используют числовой индекс.Doctrine - Store ArrayCollection keys
Например, если у меня есть следующие классы:
/** @Entity */
class MyEntity
{
/** @OneToMany(targetEntity="MyOtherEntity", mappedBy="mainEntity") */
private $myArray;
public function __construct()
{
$this->myArray = new ArrayCollection();
}
public function addOtherEntity($key, $value)
{
$this->myArray->set($key, $value);
}
...
}
/** @Entity */
class MyOtherEntity
{
/** @ManyToOne(targetEntity="MyEntity", inversedBy="myArray") */
private $mainEntity;
...
}
Метод set
работает нормально, но когда я получить информацию ключи в $myArray
ушли.
Как заставить ОРМ правильно запомнить ключи? Спасибо заранее.
Является ли это решением для получения ответа на ввод ключей. –
http://doctrine-orm.readthedocs.org/ru/latest/tutorials/working-with-indexed-associations.html –
Ждать ответа? Запрос один? –