我正在尝试使用 Propel ORM 制作一个非常简单的“列出所有”功能 - 供 Backbone.js 阅读。这就是我想要做的,在我看来,应该工作:
$users = UsersQuery::create()
->find();
echo $users->toJSON();
但是,当我运行它时,我得到的结果是:
{"Users_0":{"Id":1,"EmailAddress":"sdf","Password":"sdf","CreatedAt":null,"ModifiedAt":null},
"Users_1":{"Id":2,"EmailAddress":"dsf","Password":"sdf","CreatedAt":null,"ModifiedAt":null}}
虽然它是有效的 JSON,但每一行都是主数组中的一个数组这一事实正在抛弃我的 JSON。我需要它返回的是这样的 JSON:
[{"Id":1,"EmailAddress":"sdf","Password":"sdf","CreatedAt":null,"ModifiedAt":null},{"Id":2,"EmailAddress":"dsf","Password":"sdf","CreatedAt":null,"ModifiedAt":null}]
我已经创建了以下函数(作为测试)并且它运行良好,但肯定 Propel(或 Slim,我正在使用的框架)有办法阻止数组中的所有内容?这里是黑客;
$users = UsersQuery::create()
->find();
$json = '[';
foreach($users as $user){
$json = $json.$user->exportTo('JSON').',';
}
$json = $json.']';
echo str_replace("},]", "}]", $json);
任何帮助将不胜感激!谢谢大家。