Est-il possible d'enregistrer manuellement un utilisateur (avec artisan?) Plutôt que via la page d'enregistrement d'authentification?
Je n'ai besoin que de quelques comptes d'utilisateurs et je me suis demandé s'il était possible de les créer sans avoir à configurer les contrôleurs d'enregistrement et les vues.
Je pense que vous voulez effectuer cette opération une fois pour toutes, vous n'avez donc pas besoin de quelque chose d'extraordinaire comme créer une commande Artisan, etc. Je suggère simplement d'utiliser php artisan tinker
(excellent outil!) Et d'ajouter les commandes suivantes par utilisateur:
$user = new App\User();
$user->password = Hash::make('the-password-of-choice');
$user->email = '[email protected]';
$user->save();
Oui, vous pouvez facilement écrire une base de données seeder et ensemencer vos utilisateurs.
Oui, la meilleure option est de créer un semoir afin que vous puissiez toujours le réutiliser.
Par exemple, voici ma 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);
}
}
Après avoir créé ce segment, vous devez exécuter composer dumpautoload
, puis ajouter dans votre database/seeds/DatabaseSeeder.php
:
class DatabaseSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
Model::unguard();
$this->call('UserTableSeeder');
}
}
Vous pouvez enfin utiliser php artisan db:seed --class=UserTableSeeder
chaque fois que vous devez insérer des utilisateurs dans la table.
Vous pouvez utiliser Model Factories pour générer deux comptes utilisateur. Ecrire un seeder fera aussi le travail.
Ceci est un ancien post, mais si quelqu'un veut le faire avec une ligne de commande, dans Laravel 5. *, c'est un moyen simple:
php artisan tinker
puis tapez (remplacez par vos données):
DB::table('users')->insert(['name'=>'MyUsername','email'=>'[email protected]','password'=>Hash::make('123456')])