2

Doctrine で配列を JSON に変換するにはどうすればよいですか?

これまでのところ、これを試しました。コードは次のとおりです。

require_once ("../Users.php");
require_once("../../test/doctrine/cli-config.php");
require_once "../../test/doctrine/bootstrap.php";

            $user_list = array();

            $usersRepository = $entityManager->getRepository('Users');

            $users = $usersRepository->findAll();  

            echo "<pre>";
            print_r($users);

            foreach ($users as $user) 
            {
                $user_list[] = array('user_list'=>$user);   
            }


  json_encode($user_list)

print_r() セクションは私にこれを返しています:

Array
(
    [0] => Users Object
        (
            [id:Users:private] => 1
            [lastName:Users:private] => User1
            [firstName:Users:private] => Test1
            [city:Users:private] => ABC
            [country:Users:private] => XYZ
            [email:Users:private] => user1@yahoo.com
        )

    [1] => Users Object
        (
            [id:Users:private] => 2
            [lastName:Users:private] => User2
            [firstName:Users:private] => Test1
            [city:Users:private] => ABC
            [country:Users:private] => XYZ
            [email:Users:private] => user2@yahoo.com
        )

)
[{"user_list":{}},{"user_list":{}}]

Json 応答が空であることを確認してください。誰でもそれで私を助けることができますか?

4

1 に答える 1

4

エンティティにパブリック プロパティがありません...そのため、空の json が取得されます。

この目的のためにEntitySerializerを使用しています

ケースの使用法は次のとおりです。

$eSerializer = new Bgy\Doctrine\EntitySerializer($entityManager);
$result = $eSerializer->toArray($users);

しかし、これは単なる個人的な好みです。Symfony フレームワークの標準 Serializer クラスを使用する必要があります

于 2013-10-23T06:53:58.837 に答える