Моя база данных отлично работает с моим приложением laravel, но пока я пытался вставить данные в свою базу данных, я столкнулся с ошибкой:

SQLSTATE [42S22]: столбец не найден: 1054 Неизвестный столбец «updated_at» в 'список полей' (SQL: вставить в articles (article_head, article_body, updated_at, created_at) значения (,, 2016-04-27 18:40:58, 2016-04-27 18:40:58))

Мой файл просмотра

<form method="post" action="{{ url('saving_data') }}">
  {!! csrf_field() !!}
    <div class="form-group">
      <label for="write_heading">Write Heading:</label>
      <textarea class="form-control" rows="3" cols="10" id="write_heading" name="article_head" style="resize: none;"></textarea>
      <label for="write_post">Write Post:</label>
      <textarea class="form-control" rows="15" cols="10" id="write_post" name="article_body" placeholder="write something awesome!!" style="resize: none;"></textarea>
      <br>
      <div class="model-footer">
        <button type='submit' class='btn btn-primary create_button'>Create</button>
        <button type='reset' class='btn btn-default reset_button'>Reset</button>

        <button type="button" class="btn btn-danger close_button" data-dismiss="modal">Close</button>
      </div>

    </div>
</form>

Мой код контроллера

class ArticleEditor extends Controller
{
    //insert article to database
    public function insert_article(Request $request) {

      $Article = new article;

      $Article->article_head = $request->article_head;
      $Article->article_body = $request->article_body;

      $Article->save();

      return redirect('/dashboard');
    }
}

Миграционный файл

    public function up()
    {
        Schema::create('articles', function(Blueprint $table)
        {
            $table->increments('article_id');
            $table->string('article_head', 500);
            $table->string('article_body', 10000);
            $table->dateTime('created_on');
        });
    }
4
Jatin Balodhi 27 Апр 2016 в 21:52

2 ответа

Лучший ответ

Ваш запрос пытается обновить отметки времени.

Вам необходимо использовать $table->timestamps(); при миграции или добавить это в свою модель, если вы не хотите их использовать:

public $timestamps = false;

Дополнительную информацию о временных метках можно найти здесь.

6
Alexey Mezenin 27 Апр 2016 в 19:24

MySQL:

create table users(id int(10) unsigned auto_increment not null,name varchar(255) not null,email varchar(255) unique,password varchar(255) not null,remember_token varchar(100),created_at timestamp,updated_at  timestamp,  primary key (id))
-1
smartrahat 19 Мар 2018 в 16:44