首页 文章

Laravel-4.1时间戳()问题

提问于
浏览
7

这是我的表结构

public function up()
    {
        Schema::create('tags', function($table){
            $table->increments('tagId');
            $table->string('tagName');
            $table->timestamp('tagCreated');
        });
    }

当我存储记录时,它说我找不到列 . 即使我没有使用“$ table-> timestamps();”

请帮忙解决一下怎么办?是否有必要为每个表存储“timestamps()”?

Illuminate \ Database \ QueryException SQLSTATE [42S22]:未找到列:1054'字段列表'中的未知列'updated_at'(SQL:插入标记(tagName,tagCreated,updated_at,created_at)值(测试,2014-02-08) 16:19:04,2014-02-08 11:19:09,2014-02-08 11:19:09))

1 回答

  • 20

    您需要通过添加告诉模型您没有使用时间戳

    public $timestamps = false;
    

    到您的模型类 . 你可以在这里阅读更多关于它们的信息:http://laravel.com/docs/eloquent#timestamps

    请注意,方案迁移仅适用于数据库 - 而不是模型 . Laravel无法知道您在迁移中没有调用“时间戳” . 您需要在模型类中指定模型和模式之间的关系 - 而迁移只是直接担心数据库 .

相关问题