Laravel和MySQL在DateTime的情况下表现不佳

Raj*_*ena 4 laravel

我使用Laravel和SQLite创建了一个webapp,一切都很好.现在,我想使用MySQL作为数据库,但现在我无法将数据添加到我的表中.

这是我迁移的字段:

$table->dateTime('last_updated')->nullable();
Run Code Online (Sandbox Code Playgroud)

这就是我使用laravel填充场的方法:

$client->last_updated = time();
Run Code Online (Sandbox Code Playgroud)

但它给我的错误如下:

Illuminate \ Database \ QueryException
SQLSTATE[22007]: Invalid datetime format: 1292 Incorrect datetime value: '1402140378' for column 'last_updated' at row 1 (SQL: update `clients` set `last_updated` = 1402140378 where `id` = 1)
Run Code Online (Sandbox Code Playgroud)

任何帮助将不胜感激.

Mar*_*lln 13

$table->dateTimeDATETIME在数据库中创建一个期望值为的列YYYY-MM-DD HH:ii:ss.你要插入的是一个unix时间戳.

您可以使用Carbon(需要use Carbon\Carbon在文件的顶部),

$client->last_updated = Carbon::now()
Run Code Online (Sandbox Code Playgroud)

date(...),

$client->last_updated = date('Y-m-d H:i:s') 
Run Code Online (Sandbox Code Playgroud)

或PHP的DateTime类将当前日期时间插入数据库..