0

モデルをテストしようとしていますが、現在のタイムスタンプを「作成済み」フィールドに挿入する必要があります。

フィクスチャを使用していますが、「NOW()」を使用しても機能しないようです。0000-00-00 00:00:00 と書き込みます。

これは私の備品記録です:

public $records = array(
        array(
            'id' => 1,
            'body' => 'esto es una prueba',
            'idUser' => 2,
            'created' => 'NOW()',
            'ip' =>'1.1.1.1',
         )
)

これについて何か考えはありますか?ありがとう。

4

2 に答える 2

2

クラス プロパティと同様$recordsに、定義内で関数を使用することはできません。関数を使用したい場合 (あなたの場合など)、次のように関数date()内で実行する必要があります。init

public function init() {
  $this->records = array(
    // ...
    'created' => date('Y-m-d H:i:s'),
    // ...
  );

  // dont forget to call parent::init() if you're overwriting init().
  parent::init();
}
于 2012-08-20T14:03:49.793 に答える
-1
public $records = array(
        array(
            'id' => 1,
            'body' => 'esto es una prueba',
            'idUser' => 2,
            'created' => date('Y-m-d h:i:s'), // in this case `created` must have to be a DATETIME type
            'ip' =>'1.1.1.1',
         )
);

また

public $records = array(
            array(
                'id' => 1,
                'body' => 'esto es una prueba',
                'idUser' => 2,
                'created' => time(), // in this case `created` must have to be a TIMESTAMP type
                'ip' =>'1.1.1.1',
             )
    );
于 2012-04-15T10:23:23.890 に答える