1) Task Modelini Oluşturma:
İlk adım olarak, Task modelini oluşturun. Laravel’de model oluşturmak için artisan komutunu kullanabilirsiniz:
php artisan make:model Task -m
Yukarıdaki komut, “Task” adında bir model oluştururken aynı zamanda veritabanı tablosu için migration dosyasını da oluşturur.
2) Task Factory Oluşturma:
Şimdi, Task modeli için bir Factory sınıfı oluşturmalısınız. Factory sınıfları, sahte verileri oluşturmak için kullanılır. Aşağıdaki komut ile TaskFactory sınıfını oluşturabilirsiniz:
php artisan make:factory TaskFactory --model=Task
Bu komut, “TaskFactory” adında bir Factory sınıfı oluşturur ve bu sınıfın hangi modelle ilişkilendirileceğini belirtir.
3) Factory’i Düzenleme:
Oluşturulan TaskFactory.php adlı dosyayı açın ve sahte Task kayıtlarını nasıl oluşturmak istediğinizi belirtin. Örneğin:
class TaskFactory extends Factory { protected $model = Task::class; public function definition() { return [ 'title' => $this->faker->sentence, 'description' => $this->faker->paragraph, 'completed' => $this->faker->boolean, ]; } }
Yukarıdaki örnek, rastgele başlık (title), açıklama (description) ve tamamlanma durumu (completed) eklemek için bir Factory tanımlar.
4) Seeder Oluşturma:
Şimdi, bu sahte verileri kullanarak bir Seeder sınıfı oluşturun. Seeder sınıfları, veritabanına sahte verileri eklemek için kullanılır:
php artisan make:seeder TaskSeeder
Bu komut, “TaskSeeder” adında bir Seeder sınıfı oluşturur.
5) Seeder’ı Düzenleme:
Oluşturulan TaskSeeder.php adlı dosyayı açın ve Seeder sınıfını kullanarak sahte Task kayıtlarını nasıl ekleyeceğinizi belirtin:
class TaskSeeder extends Seeder { public function run() { Task::factory(10)->create(); } }
Yukarıdaki örnek, 10 adet sahte Task kaydı oluşturur.
6) Seeder’ı Çalıştırma:
Seeder’ı çalıştırmak için Laravel Artisan komutunu kullanabilirsiniz:
php artisan db:seed --class=TaskSeeder
Bu komut, TaskSeeder sınıfını kullanarak sahte Task kayıtlarını veritabanına ekler.
Artık, “Task” modeli için sahte verileriniz veritabanına eklenmiş olmalıdır. Bu verilere, daha sonra veritabanı sorguları kullanarak erişebilirsiniz.
Not: Burada tekil olarak TaskSeeder içindeki kodlar tetiklenir. Birden fazla tabloya seed işlemini tek seferde veritabanına yansıtmak için DatabaseSeeder dosyasındaki “run” metoduna dizi şeklinde seeder dosyaları tanımlanır.
$this->call(UserSeeder::class); $this->call(PostSeeder::class);
şeklinde tanımlanır ve terminalde aşağıdaki komut verilir.
php artisan db:seed