1

我只想向客户端显示指定的属性,但 json 字符串包含未指定的属性。

$data = Music::model()->findAllByPk($musics, array( 'select'=>'id, song', ... ));

但是json编码字符串是:

[{id: x, song:'xxx', uid: null, disabeld: null}, ...]

我不希望这些字段(uid、disabeld)显示给用户,这不安全。

我尝试使用这些但不工作:

CJSON::encode();
FOREACH()... getAttributes();

对不起我的EN不好

4

1 回答 1

0

您可以使用所需的字段创建一个 listData,并将此 listData(数组)编码为 JSON:

    $data = Music::model()->findAllByPk($musics, array( 'select'=>'id, song', ... ) );
    $musicList = CHtml::listData($data, 'id', 'song');

    CJSON::encode($musicList);
于 2013-09-05T05:19:55.610 回答