私はと多対多の関係を持つUserエンティティを持っています。Tipoエンティティ。Doctrine 2:関連するオブジェクトを配列として返します
すでに働いている関連するエンティティを取得する方法があるので、$u
が私のユーザであると仮定すると、$u->getIdtipo()
は、すべての必要な関連オブジェクトを返します。
上記の関数の結果はコレクションですが、私は呼び出しにjsonとして返すので、配列が必要です。
Iは、getIdtipo()
の結果にも->toArray()
を適用するためにしようと試みたが、その操作の結果は、私は、アレイのアレイを必要としながら、それは、ティポオブジェクトの配列を作成することです。
getIdtipo
によって返されたオブジェクトのコレクションをjson、または配列の配列に変換することはできますか?
注:同じ結果を取得するカスタムクエリの代わりにgetIdtipo()
を使用したいと思います。マークされた答えのよう
答えは、私は、シリアライザを実装し、それを使用していました。 symfonyのdocumentationから
は、私は私のメインコントローラでシリアライズ機能を作成したより私はcomposer require symfony/serializer
を実行し、それは私がやったことだ:
use Symfony\Component\Serializer\Encoder\JsonEncoder;
use Symfony\Component\Serializer\Encoder\XmlEncoder;
use Symfony\Component\Serializer\Normalizer\ObjectNormalizer;
use Symfony\Component\Serializer\Serializer;
public function serialize($data, $format){
$encoders = array(new XmlEncoder(), new JsonEncoder());
$normalizers = array(new ObjectNormalizer());
$serializer = new Serializer($normalizers, $encoders);
return $serializer->serialize($data, $format);
}
と、単にユーザーの TIPOは
をやって返します$this->serialize($u->getIdtipo(), 'json'));
ありがとうございます。私はそれを見て、[それ](https://symfony.com/doc/current/components/serializer.html)のことを私がやったのです。私は答えを示すために私の質問を更新しています。コレクション全体をシリアライズするBtwは必要ありません。 'toArray' – GiuServ