wake-up-neo.com

Registrieren Sie einen Benutzer manuell in Laravel

Ist es möglich, einen Benutzer manuell zu registrieren (mit einem Handwerker?) Und nicht über die Authentifizierungsseite?

Ich brauche nur eine Handvoll Benutzerkonten und fragte mich, ob es eine Möglichkeit gibt, diese zu erstellen, ohne die Registrierungscontroller und -ansichten einrichten zu müssen.

31
Matt Ellis

Ich denke, Sie möchten das einmalig machen, also gibt es keine Notwendigkeit für etwas Besonderes wie das Erstellen eines Artisan-Befehls usw. Ich würde vorschlagen, einfach php artisan tinker (tolles Werkzeug!) Zu verwenden und die folgenden Befehle pro Benutzer hinzuzufügen:

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

Ja, Sie können leicht eine Datenbank Seeder schreiben und Ihre Benutzer so säen.

Ja, die beste Option ist das Erstellen einer Sämaschine, sodass Sie diese jederzeit wiederverwenden können.

Dies ist zum Beispiel meine 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);
    }
}

Nachdem Sie diesen Seeder erstellt haben, müssen Sie composer dumpautoload ausführen und dann in Ihrem database/seeds/DatabaseSeeder.php Folgendes hinzufügen:

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

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

Jetzt können Sie endlich php artisan db:seed --class=UserTableSeeder verwenden, wenn Sie Benutzer in die Tabelle einfügen müssen.

2
user2094178

Sie können Model Factories verwenden, um ein Benutzerkonto zu erstellen, das Sie bearbeiten können. Wenn Sie einen Seeder schreiben, wird die Arbeit ebenfalls erledigt.

1
oseintow

Dies ist ein alter Beitrag, aber wenn es jemand mit der Befehlszeile in Laravel 5. * tun möchte, ist dies ein einfacher Weg: 

php artisan tinker

geben Sie dann (ersetzen Sie mit Ihren Daten) ein:

DB::table('users')->insert(['name'=>'MyUsername','email'=>'[email protected]','password'=>Hash::make('123456')])
0
I. Patrick