2014-05-25 41 views
0

以下運行成功後PHP工匠遷移:安裝試圖讓非對象的屬性在PHP工匠migrate命令

我嘗試運行以下命令以生成一個用戶表PHP工匠從遷移 我的遷移,我得到以下

錯誤[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

看一下上面的代碼,錯誤似乎是在這裏:

$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

+0

這確實有效,並且還改變了從表格創建的模式幫助 – 3barney

+0

哦!我沒有注意到你有'Schema :: table'而不是'Schema :: create'。我的錯。我會更新答案。 – SUB0DH