これはAccess DateTime->date in phpに関連していますが、実際は別のものです。私はSQLサーバーからDateTimeオブジェクトを取得するいくつかのPHPがあります。私は echo $mydate->format('Y-m-d H:i:s');
を使ってその文字列を変換するか、少なくとも私はそうだと思います。 (私は明示的な型キャストを使って確かめました)。 は、ここで「文字列」は、クラスの外に戻されたときDateTimeオブジェクトを文字列に変換すると変換されますか?
} else {
echo "<br/>object ";
$dt = (string) $row[$column]->format('Y-m-d H:i:s');
$this->retVal["nonEmpty"] = true;
$this->retVal["value"] = (string) $dt;
echo $this->retVal["value"]; //Returns a string, no issue.
}
問題が発生し、そのコードです。
$convert = new DataConv;
$convert->conv($newConnectionThree, $fieldNames[$cnt1][$cnt2]["Type"],$fieldNames[$cnt1][$cnt2]["Size"], $tableNames[$cnt1], $columnNames[$cnt1][$cnt2]);
$fieldNames[$cnt1][$cnt2]["Type"] = $convert->type;
$returned = $convert->retVal;
echo $returned["value"]; //Returns error "Catchable fatal error: Object of class DateTime could not be converted to string".
var_dump($returned["value"]); //Shows Datetime object.
ここで、Datetimeオブジェクトに戻る。私はそれを元に戻す理由は見当たりません。私はちょうどなぜこれが起こるのか誰かが答えを持っているかどうか疑問に思っていたが、解決策が役立つだろう。そのクラスの外でその変換を行うことは不十分です。
DataConvクラスの完全なコードを表示できますか? – vascowhite
クラス全体は209行です。基本的には、META DATAのSQLから返されたデータ型の数値をとり、文字列値に変換します( "-9"の型は "N VarChar"として格納されます)。これを変数に格納しますそのクラスの外部からアクセスすることができ、そのテーブルの最初の行をフェッチし、そのクラスの外部からアクセス可能な配列に値を格納します。 –