1

ZF2 Doctrine ORM モジュールを使用して動的パラメーターをエンティティ クラス名として使用し、そのオブジェクトを初期化し、Excel シート ヘッダーの動的値を使用してデータを保存することで、データを保存しようとしています。

$time = \PHPExcel_Style_NumberFormat::toFormattedString($rowData[0][$key], 'hh:mm:ss');
$obj->$setter(\DateInterval::createFromDateString($this->secondsToTime(strtotime($time))));
$this->orm->persist($obj);
$this->orm->flush();

$this->secondsToTime(strtotime($time)) は、4 時間 5 分 6 秒の形式で時間を返します

フィールド タイプは時間です。$obj->getter() を出力すると、次のように出力されます。

DateInterval Object
(
    [y] => 0
    [m] => 0
    [d] => 0
    [h] => 4
    [i] => 5
    [s] => 6
    [weekday] => 0
    [weekday_behavior] => 0
    [first_last_day_of] => 0
    [invert] => 0
    [days] => 
    [special_type] => 0
    [special_amount] => 0
    [have_weekday_relative] => 0
    [have_special_relative] => 0
)

ただし、データベースに値を 4:05:06 として保存せず、00:00:00 を保存します。ここから答えてみました

4

0 に答える 0