2012-04-04 4 views
14

にはどうすればいい教義\ DBALを使用してデータベースフィールドの値としてPHPののDateTimeオブジェクトを渡すことができますか?インサートを用いて()メソッド2

$ DB教義\ DBAL \接続インスタンスです。

$DB->insert('table_name', [ 
    'field' => new \DateTime(), 
]); 

// Catchable fatal error: Object of class DateTime could not be converted to string 

上記のコードは機能しておらず、ドキュメントが不足しています。

私はあなたが直接、別のDBALメソッドを使用して日時オブジェクトを提供できることを確認するために知っていた、それは、挿入()でこれを行うことは可能でしょうか?

+1

解決策が見つかりました。 3番目の引数配列( 'datetime')をinsert()メソッドに渡すだけです。 DateTimeには 'datetime'、文字列にはPDO :: PARAM_STR、整数にはPDO :: PARAM_INTを使用します。 –

答えて

23
$DB->insert('table_name', [ 
    'foo' => 'foo', 
    'bar' => 17, 
    'field' => new \DateTime(), 
], [ 
    PDO::PARAM_STR, 
    PDO::PARAM_INT, 
    'datetime', 
]); 

トリックをしました! ))

+0

最初の配列の要素の順序はどうですか?私は、キーと値のペアの配列が関数の引数として正しく宣言されていると仮定しますが、キーの順序は宣言されている順序と一致しますが、他の関数でキーと値のペア配列を動的に作成するとどうなりますか? –

関連する問題