2011-08-09 11 views
1

I 実際にはには、エンティティを配列にキャストする方法が必要です。私は手動でそれを行うことができますが、各エンティティで行うことは痛いです、より多くの関係を扱うことは容易ではありません。Doctrine 2 toArray()メソッドは、特性を持つまでですか?

どうすればよいですか?あなたはそれのようなものを実装しましたか?

+0

http://jmsyst.com/bundles/JMSSerializerBundle/ –

答えて

2

あなたはゲッターを見つけるためにget_class_methodsを使用することができます関係について

function toArray($object) 
{ 
    $result = array(); 
    $methods = get_class_methods($object); 
    foreach($methods as $method) { 
     if ('get' == substr($method, 0, 3)) { 
      $result[substr($method, 3)] = $object->$method(); 
     } 
    } 
    return $result; 
} 
+0

ミリメートルが、何を? – JohnT

+0

メソッドがオブジェクトを返す場合は、再帰を使用します。 – Maxence

+0

ええ、私は意味しますが、問題は双方向関係のため無限ループにあります – JohnT

関連する問題