Laravel迁移和播种错误

时间:2014-06-24 11:55:20

标签: laravel

我刚刚开始使用Laravel框架及其命令提示符。但是,我在迁移和播种功能方面遇到了问题。

我正在Windows 7 64位操作系统上的WAMP服务器上进行开发。

数据库名称是' laravel',包含以下两个表:

  1. 迁移
  2. 用户
  3. users表包含以下列:

    • ID
    • 名称
    • 电子邮件
    • 用户名
    • 密码

    我使用命令行生成存储在app\database\migrations\2014_06_24_221654_test.php中的迁移。我还在迁移表中创建了迁移和批处理字段。

    然后我想将电子邮件播种到该表,因此我在数据库\ seeds文件夹中使用了DatabaseSeeder.php

    <?php class DatabaseSeeder extends Seeder {
    
    public function run()
    {
        $this->call('UserTableSeeder');
    
        $this->command->info('User table seeded!');
    }
    
    }
    
    class UserTableSeeder extends Seeder {
    
    protected $fillable = array('email');
    
    public function run()
    {
    
    
        User::create(array('email' => 'jishadp369@gmail.com'));
    }
    
    }
    
    ?>
    

    然后我使用以下命令为数据库播种

    php artisan db:seed
    

    但是,我得到以下例外:

     [Illuminate\Database\QueryException]
    
     SQLSTATE[42S22]: Column not found: 1054 Unknown column 'updated_at' in 'field
     list' (SQL: insert into `users` (`email`, `updated_at`, `created_at`) values (ji
     shadp369@gmail.com, 2014-06-25 00:23:48, 2014-06-25 00:23:48))
    

    我该如何解决这个问题?我需要一个型号吗?

1 个答案:

答案 0 :(得分:10)

这是因为您的用户模型使用时间戳字段。

检查您的用户模型文件。

您可以在构造函数中找到类似$this->timestamps = true的内容。将其更改为false,然后重试。如果您没有找到类似的内容,请将此属性添加到课程中:

public $timestamps = false; 

我希望它适合你。