2016-03-02 21 views
12

È possibile registrare manualmente un utente (con artigiano?) Piuttosto che tramite la pagina di registrazione dell'autorizzazione?Registrare manualmente un utente in Laravel

Ho solo bisogno di una manciata di account utente e mi chiedevo se c'è un modo per crearli senza dover impostare i controller di registrazione e le viste.

+0

Attraverso armeggiare ... php artigiano armeggiare –

risposta

23

Penso che vogliate fare questa operazione una volta sola, quindi non c'è bisogno di qualcosa di creativo come creare un comando Artisan ecc. Suggerirei semplicemente di usare php artisan tinker (ottimo strumento!) E aggiungere i seguenti comandi per utente:

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

No, questo non è un comando artigianale. Questo è *** usando un comando artigianale. –

+1

Sì, questo è piuttosto zen. Grazie. @ maiorano84 è questo pacchetto in L5 (laravel/framework/composer.json) https://github.com/bobthecow/psysh –

+3

* sigh * .... era uno scherzo, ragazzi. – maiorano84

4

Sì, puoi facilmente scrivere un database seeder e seminare i tuoi utenti in questo modo.

2

Sì, l'opzione migliore è creare una seminatrice, in modo da poterla sempre riutilizzare.

Ad esempio, questo è il mio 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); 
    } 
} 

Dopo aver creato questo seminatrice, è necessario eseguire composer dumpautoload, e quindi nel vostro database/seeds/DatabaseSeeder.php aggiungere il seguente:

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

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

Ora si può finalmente utilizzare php artisan db:seed --class=UserTableSeeder ogni volta che è necessario inserire utenti nella tabella.

0

È possibile utilizzare Model Factories per generare un paio di account utente per il funzionamento. Scrivendo una seminatrice anche il completerà il lavoro.

Problemi correlati