2

CakePHP 配列の戻り値を JSON に変換していますが、現在は次のようになっています。

{
  "platformusers" : [
    {
      "id" : "1",
      "name" : "user1"
    },
    {
      "id" : "3",
      "name" : "user3"
    }
  ]
}

そして、私はそれが次のようになりたい:

[
    {
      "id" : "1",
      "name" : "user1"
    },
    {
      "id" : "3",
      "name" : "user3"
    }
]

私は試していますSet::extract('{n}.Model', $data)Hash::extract('{n}.Model', $data) 運がまったくありません。

完全なコード:

    $platformusers = $this->Platformuser->find('all', array(
        'fields' => array('Platformuser.id', 'Platformuser.name')
    ));

    $platformusers = Hash::extract('{n}.Platformuser', $platformusers);

    $this->set(array(
        'platformusers' => $platformusers,
        '_serialize' => array('platformusers')
    ));
4

1 に答える 1

11

オプションに の代わりに を設定しstringます。Anは、シリアル化する必要がある複数のビュー変数が存在する可能性があり、それらを個別のオブジェクト プロパティにパックする必要があることを示します。_serializearrayarray

$this->set(array(
    'platformusers' => $platformusers,
    '_serialize' => 'platformusers'
));

それはあなたに望ましい結果を与えるはずです。

于 2013-10-08T14:51:52.677 に答える