2016-04-16 15 views
0

移行を使用してユーザーテーブルを作成しましたが、このテーブルをシードできませんでした。私はPHPの職人デシベルを実行したときに、私は次のエラーを取得する:Laravel 5.2ユーザーテーブルシーダーエラー

<?php 

use Illuminate\Database\Seeder; 
use App\User; 

class UsersTableSeeder extends Seeder 

{ 

    public function run() 
    { 
     $user = new User; 
     $user->name = 'John Doe'; 
     $user->email = '[email protected]'; 
     $user->password = bcrypt('password');   
     $user->save(); 
    } 

} 

マイUser.phpモデル::

コマンドラインからシード

[Symfony\Component\Debug\Exception\FatalErrorException] 
     parse error, expecting `"variable (T_VARIABLE)"' 

マイUsersTableSeeder.phpのシーダは、次の行を持っています

<?php 

namespace App; 

use Illuminate\Foundation\Auth\User as Authenticatable; 

class User extends Authenticatable 
{ 
    protected $fillable = [ 
     'name', 'email', 'password', 
    ]; 

    protected $hidden = [ 
     'password', 'remember_token', 
    ]; 
} 

どうすればこの問題を解決できますか? TIA

答えて

0

これをユーザーモデルに追加し、ユーザーモデルにパスワードbcryptと格納をモデル化させます。このようにして解決することができます。

UserTableSeeder

public function run() 
    { 
     $user = new User; 
     $user->name = 'John Doe'; 
     $user->email = '[email protected]'; 
     $user->password = 'password';   
     $user->save(); 
    } 

User.php

Public function setPasswordAttribute($password) 
{ 
    return $this->attributes['password'] = bcrypt($password); 
} 
0

あなたが提供されたコードは何も問題はありません:)

あなたは私たちに詳細を与えることができますか?それとも、今まで

composer dump-autoloadphp artisan migrate:refresh --seed

0

を試してみましたドキュメントで説明するように、データベースに直接挿入してみてください。

https://laravel.com/docs/5.2/seeding

public function run() 
{ 
    DB::table('users')->insert([ 
     'name' => 'John Doe', 
     'email' => '[email protected]', 
     'password' => bcrypt('password'), 
    ]); 
} 
0

ちょうどこのUserTableSeederを試してみてください

public function run() 
    { 
     User::truncate(); 
     $pavan = User::create([ 
      'name' => 'something', 
      'email' => '[email protected]', 
      'password' => bcrypt('password'), 
      'status' => 1, 
      'theme' => 'green', 
      'is_delete' => 0 
     ]); 
} 

In DatabaseSeeder.php

class DatabaseSeeder extends Seeder 
{ 
    /** 
    * Run the database seeds. 
    * 
    * @return void 
    */ 
    public function run() 
    { 
     Model::unguard(); 
     \DB::statement('SET FOREIGN_KEY_CHECKS = 0'); 
     $this->call(UserTableSeeder::class); 
     \DB::statement('SET FOREIGN_KEY_CHECKS=1;'); 
    } 
}