7
Doctrine ORM(2.3、PHP> 5.4)でArrayCollectionを使用し、オブジェクト値をコレクション内のキーに関連付けた場合(値がset
メソッドの場合など)、値は正しく格納されますデータベースに格納されます。しかし、エンティティからコレクションを取得する場合、キーは取得されず、数値インデックスが使用されます。例えばDoctrine - ArrayCollectionキーを格納する
、私は以下のクラスがある場合:
/** @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
のキーがなくなっています。
どのようにしてORMにキーを正しく記憶させるのですか?あらかじめありがとうございます。
これは、応答を取得するための解決策ですか。 –
http://doctrine-orm.readthedocs.org/en/latest/tutorials/working-with-indexed-associations.html –
応答を待ちますか?クエリ1?ひどく言われた –