无法在Laravel中的数据表中插入缺少的行列

时间:2015-07-15 15:03:12

标签: php mysql database laravel laravel-5

我很难起床和Laravel一起去。数据库(MySQL)给了我一些错误,但我不确定如何修复它们。我写了这个简单的迁移来创建一个歌曲表。

<?php

use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;

class CreateSongsTable extends Migration
{
    // Run the migrations.
    public function up()
    {
        Schema::create('songs', function (Blueprint $table) {

            $table->increments('id');
            $table->string('title'); /* <- Here is the title column */
            $table->text('lyrics')->nullable();
            $table->timestamps();
        });
    }

    // Reverse the migrations.
    public function down()
    {
        Schema::drop('songs');
    }
}

然后我迁移它,一切似乎都正常。

$ php artisan migrate
Migrated: 2015_07_14_150540_create_songs_table

但是当我尝试插入某些内容时会出现错误。它说我错过了标题栏,但就我在上面的代码中所看到的,我应该有一个,否则我没有错误。

$ php artisan tinker
Psy Shell v0.5.1 (PHP 5.5.24 — cli) by Justin Hileman

>>> DB::table('songs')->insert([ 'title' => 'Fall',
'created_at' => new DateTime, 'updated_at' => new DateTime]);

Illuminate\Database\QueryException with message 'SQLSTATE[42S22]:
Column not found: 1054 Unknown column 'title' in 'field list'
(SQL: insert into `songs` (`title`, `created_at`, `updated_at`)
values (Fall, 2015-07-14 15:14:10, 2015-07-14 15:14:10))'

编辑:在phpMyAdmin中查看数据库,表格在那里,但缺少标题列。这是我得到的: table detail

我哪里错了?

1 个答案:

答案 0 :(得分:4)

表尚未迁移到数据库中。

请使用

php artisan migrate:refresh

恢复你的表格