3


Silexマイクロフレームワークを使用して単純なRESTバックエンドを構築しています。

各コントローラー内で、次のようにMySQLデータベースに対して(Doctrine 2 DBAL APIを使用して)クエリを実行しています。

$app->get('/customers', function (Application $app) {
    $recordset = $app['db']->fetchAll('SELECT id, name FROM Customers');
    return $app->json($recordset);
});

stringDoctrine DBALが列の定義に関係なくデータ型のみを返す理由を誰かが私に説明できますか?以下は、PHPvar_dump($recordset)関数を使用した対応する出力です(idフィールドは文字列ではなく整数型である必要があることに注意してください)。

array(1) {
  [0]=>
  array(2) {
    ["id"]=>
    string(5) "10043"
    ["name"]=>
    string(20) "Hey, I'm just a test"
  }
}

ご協力いただきありがとうございます。

4

1 に答える 1

1

Maerlynが示唆しているように、これはPDOドライバー、したがってDoctrineDBALの既知の問題のようです。

Doctrine 2 ORMレイヤーによって提供されるマッピング機能を利用せずに、DBALの制限に対する可能な回避策としてこの回答を見つけました。

于 2012-11-06T08:19:51.680 に答える