1

Redbean から生成された「集計」というテーブルがあり、次の列があります。

id      - INT(11)
user_id - TINYINT(3)
code    - VARCHAR(255)
sample  - INT(11)

しかし、このコードを「終了」すると:

$aggregates = json_encode(Orm::exportAll(Orm::find('aggregates')));
exit($aggregates);

php から、次の json 出力を取得します。

[
 {"id":"1",  "user_id":"1", "code":"baffdadsad", "sampleWeight":"100"},
 {"id":"2",  "user_id":"1", "code":"prova",      "sampleWeight":"900"},
 {"id":"3",  "user_id":"1", "code":"asdsa",      "sampleWeight":"120"},
 {"id":"4",  "user_id":"2", "code":"grana",      "sampleWeight":"89"},
 {"id":"14", "user_id":"1", "code":"get",        "sampleWeight":"1001"},
 {"id":"15", "user_id":"1", "code":"saghf",      "sampleWeight":"232"}
]

idフィールドとsampleWeightフィールドは数値でなければなりません。なぜ Redbeans はそれを認識しないのですか? 私に何ができる?

Redbean のドキュメントhttp://redbeanphp.com/import_and_export で、このテキストの一部を見つけました。

バージョン 3.3 以降: 特定の Bean タイプのセットのみをエクスポートするには: R::exportAll( $beans, true, $filters ); $filters には、エクスポートするタイプのリストが含まれています。

exportAll 私の問題かもしれませんか?

4

1 に答える 1

1

私の問題は、次のようなJSON_NUMERIC_CHECK定義済み定数を使用することで解決できます。

$json_aggregates = json_encode($array, JSON_NUMERIC_CHECK);

これは、文字列番号の代わりに数字で正しいjsonを出力します。ちなみに、それが最善の解決策であるかどうかはわかりません...

于 2013-02-27T10:41:54.493 に答える