试图在php artisan migrate命令中获取非对象的属性

时间:2014-05-25 09:38:19

标签: php laravel-4

以下成功运行 php artisan migrate:install

我尝试运行以下命令来生成用户表 php artisan migrate 从我的迁移中我得到以下

  

error [ErrorException]试图获取非对象的属性

迁移看起来像这样:

public function up()
{
    Schema::table('user', function(Blueprint $table)
    {   
        $table->increments('id');
        $table->string('username', 128)->nullable()->default(null);
        $table->string('password')->nullable()->default(null);
        $table->string('email')->nullable()->default(null);
        $table->timestamps()->nullable->default(null);
    });
}

1 个答案:

答案 0 :(得分:1)

查看上面的代码,错误似乎在这里:

$table->timestamps()->nullable->default(null);

应该是:

$table->timestamps();

方法timestamps无法使用nullable属性或nullable()方法进行链接。 $table->timestamps()创建的数据库字段为created_atupdated_at,默认情况下,其值为时间戳0000-00-00 00:00:00,我不认为您可以更改它。

此外,如果您在其他字段中执行nullable(),则不需要在此之后添加default(null),因为这些字段的默认值为NULL

更新:如果迁移是用于创建新表,则还需要将Schema::table替换为Schema::create