微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – Eloquent:带有时间戳的默认值无效

这是我的迁移架构:

public function up()
{
    Schema::create('objects', function (Blueprint $table) {
        $table->increments('id');
        $table->timestamp('timestamp1');
        $table->timestamp('timestamp2');
    });
}

但是当我执行PHP artisan migrate时,我收到此错误

Illuminate\Database\QueryException : sqlSTATE[42000]: Syntax error or access violation: 1067 Invalid default value for ‘timestamp2’ (sql: create table objects (id int unsigned not null auto_increment primary key, timestamp1 timestamp not null, timestamp2 timestamp not null) default character set utf8mb4 collate utf8mb4_unicode_ci)

当我删除2 $table-> timestamp(…)中的一个时,我必须指出;它起作用的线条,但两者都没有.并且Object.PHP模型可以是空的.我犯了错误吗?

我已经阅读了this post,但即使我将timestamp(…)更改为dateTime(…)时不再出现错误,我只想要时间戳.

解决方法:

我在laracasts上找到了this解决方案:

nullableTimestamps()仅适用于认字段created_at,updated_at.对于自定义字段,使用timestamp() – > nullable();

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐