Ich möchte meine Seedateien getrennt halten. zum Beispiel UsersTableSeeder.php
, PostsTableSeeder.php
und sie dann in den Haupt Seeder-Datei aufrufen (DatabaseSeeder.php
):Wie werden Seed-Dateien in Laravel getrennt und sauber gehalten?
Beispiel:
use Illuminate\Database\Seeder;
class DatabaseSeeder extends Seeder
{
public function run()
{
$this->call(UsersTableSeeder::class);
$this->call(PostsTableSeeder::class);
}
}
usersTableSeeder.php:
<?php namespace App\Seeds;
use Illuminate\Database\Seeder;
use App\User;
class UserTableSeeder extends Seeder {
public function run()
{
//DB::table('users')->delete();
// user1
User::create(array(
'name' => 'ahmad',
'email' => '[email protected]',
'password' => 'ahmad'
));
}
}
meine UsersTableSeeder.php
und PostsTableSeeder.php
Dateien sind in dem gleichen Verzeichnis, das DatabaseSeeder.php
ist.
sollte ich psr-4
autoloading verwenden? Wie?
Funktioniert das, was Sie gepostet haben, nicht? – ceejayoz
Es gibt mir: [ReflectionException] Class UsersTableSeeder existiert nicht! in der Konsole –
Und die Datei 'database/seeders/UsersTableSeeder.php' existiert mit genau diesem Dateinamen, und sie enthält eine' Klasse UsersTableSeeder extends Seeder' Deklaration? Laravels Standard-Composer-Setup sollte diese bereits automatisch laden. https://github.com/laravel/laravel/blob/master/database/seeds/DatabaseSeeder.php – ceejayoz