2016-03-02 45 views
12

是否可以手動註冊用戶(與工匠?)而不是通過驗證註冊頁面?在Laravel中手動註冊用戶

我只需要少數用戶帳戶,並想知道是否有創建這些帳戶的方法,而無需設置註冊控制器和視圖。

+0

通過修補程序... php工匠修補匠 –

回答

23

我認爲你想這樣做一次性,所以不需要像創建一個Artisan命令等東西。我建議只使用php artisan tinker(偉大的工具!)併爲每個用戶添加以下命令:

$user = new App\User(); 
$user->password = Hash::make('the-password-of-choice'); 
$user->email = '[email protected]'; 
$user->save(); 
+3

不,這不是一個工匠的命令。這是***使用***工匠的命令。 –

+1

是的,這很漂亮。謝謝。 @ maiorano84它是L5中的這個包(laravel/framework/composer.json)https://github.com/bobthecow/psysh –

+3

*嘆*。這是一個笑話,夥計們。 – maiorano84

4

是的,你可以很容易地寫一個數據庫seeder和種子你的用戶。

2

是的,最好的選擇是創建一個播種機,所以你可以隨時重複使用它。

例如,這是我UserTableSeeder

class UserTableSeeder extends Seeder { 

public function run() { 

    if(env('APP_ENV') != 'production') 
    { 
     $password = Hash::make('secret'); 

     for ($i = 1; $i <= 10; $i++) 
     { 
      $users[] = [ 
       'email' => 'user'. $i .'@myapp.com', 
       'password' => $password 
      ]; 
     } 

     User::insert($users); 
    } 
} 

創建此播種機之後,你必須運行composer dumpautoload,然後在你的database/seeds/DatabaseSeeder.php添加以下內容:

class DatabaseSeeder extends Seeder 
{ 
    /** 
    * Run the database seeds. 
    * 
    * @return void 
    */ 
    public function run() 
    { 
     Model::unguard(); 

     $this->call('UserTableSeeder'); 
    } 
} 

現在你終於可以每次需要在表格中插入用戶時,請使用php artisan db:seed --class=UserTableSeeder

0

您可以使用Model Factories生成一對用戶帳戶來運行它。寫一個播種機也將完成工作。