0

http 投稿データを取得するために symfony2 と createForm を使用しています。魔女の後、私は:

$Data = (array) $form->getData();

そして私は得る:

array (size=1)
  '�Far\MT\AccountBundle\Entity\Movement�toAccount' => int 3

これはこれらのケースの通常の動作ではないと思いますが、何か提案はありますか?

toAccount は完全なインデックス名にする必要があります。

CLI のテスト ケースで条件を再現できませんでした:

<?php

namespace A;

class MyClass
{
    public $id;
    public $name;
    public $age;
}

$object = new MyClass();
$object->name = "Andre";
$object->id   = 1;
$object->age  = 30;

var_dump($object);

$Ar = (array) $object;
var_dump($Ar)

上記はうまくいきました。

私はこの解決策を使用しました:

//comment
$Data = $form->getData();
$obj = new \ReflectionObject($Data);
$props = $obj->getProperties();

$propname = array();
foreach ($props as $prop) {

    $tmp = "get".ucfirst($prop->name);

    if (($res = $Data->$tmp() )!== null) {
        $propname[$prop->name] = $res;
    }
}
$tmpSearch = $propname;

後で掃除します。

4

1 に答える 1