2014-02-08 4 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()» для каждой таблицы?

Осветите \ Database \ QueryException

SQLSTATE [42S22]: Column не найдено: 1054 Неизвестный столбец 'updated_at' в 'списке поля' (SQL: вставить в tags (tagName, tagCreated, updated_at, created_at) значения (test, 2014-02-08 16:19:04, 2014-02-08 11:19:09,)

ответ

20

Необходимо указать модель что вы не используете временные метки, добавив

public $timestamps = false; 

К вашему классу модели. Вы можете узнать о них подробнее здесь: http://laravel.com/docs/eloquent#timestamps

Обратите внимание, что миграция схемы предназначена только для базы данных, а не для модели. Laravel не знает, что вы не вызывали «отметки времени» в процессе миграции. Вам нужно указать связь между моделью и схемой в ваших классах моделей - в то время как миграции просто беспокоятся о базе данных напрямую.

Смежные вопросы