0

我正在尝试测试模型,我需要在“创建”字段中插入当前时间戳。

我正在使用 Fixture,但使用 '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 回答