Database Seeders și Model Factories în Laravel în Laravel

database Laravel 11.x / Faker Q&A / Distribuie cod

Generarea automată a datelor de test dummy cu biblioteca Faker: fabrici de modele (Factories) și popularea bazei de date (DatabaseSeeder).

Sintaxă
User::factory()->count(50)->has(Post::factory()->count(3))->create();

Testarea manuală a aplicației necesită date realiste. Model Factories definesc atributele implicite ale fiecărui model folosind biblioteca Faker (nume, adrese de email valide, numere de telefon, texte Markdown).

Combinate cu Database Seeders, poți crea instantaneu mii de utilizatori cu relații complexe (articole, comenzi, recenzii) printr-o singură linie de cod expresivă.

Exemplu: UserFactory și DatabaseSeeder cu relații generate
// database/factories/ArticleFactory.php
namespace Database\Factories;

use Illuminate\Database\Eloquent\Factories\Factory;

class ArticleFactory extends Factory
{
    public function definition(): array
    {
        return [
            'title' => fake()->sentence(6),
            'content' => fake()->paragraphs(3, true),
            'views_count' => fake()->numberBetween(10, 5000),
        ];
    }
}

// database/seeders/DatabaseSeeder.php:
// User::factory()->count(10)->hasArticles(5)->create();

Comunitate & Schimb de cunoștințe

Întrebări & Exemple de Cod: Database Seeders și Model Factories în Laravel

Ai o nelămurire despre utilizarea comenzii Database Seeders și Model Factories în Laravel sau ai descoperit un truc / fragment de cod util? Distribuie-l cu ceilalți programatori!

💬

Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!

Nu au fost adăugate încă întrebări sau exemple de cod pentru această pagină. Dacă ai întâlnit o problemă sau ai un snippet util, adaugă-l mai jos pentru a-i ajuta pe ceilalți.

Comunitate Adaugă o întrebare sau distribuie un cod

Moderare & Siguranță:

Pentru a menține calitatea și securitatea informațiilor, fiecare întrebare sau fragment de cod/prompt este analizat (manual sau prin moderare asistată de AI) înainte de publicare.