2014-02-08 247 views
7

这是我的表结构Laravel 4.1时间戳()问题

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

当我储存的记录,它说,没有发现我的列。即使我没有使用“$ table-> timestamps();”

请帮助如何解决呢?是否需要为每个表存储“timestamps()”?

照亮\数据库\ QueryException

SQLSTATE [42S22]:柱未找到:1054未知列 '的updated_at' 在 '字段列表'(SQL:插入tagstagNametagCreatedupdated_atcreated_at)值(测试,2014-02-08 16:19:04,2014-02-08 11:19:09,2014-02-08 11:19:09))

回答

20

您需要告诉模型你没有使用时间戳加入

public $timestamps = false; 

到模型类。你可以阅读更多关于他们在这里:http://laravel.com/docs/eloquent#timestamps

注意,计划迁移只是数据库 - 不是模型。 Laravel没有办法知道你没有在迁移中调用“时间戳”。你需要指定的模型和你的模型类的模式之间的关系 - 而迁移干脆直接担心数据库。