File tree Expand file tree Collapse file tree 5 files changed +123
-1
lines changed Expand file tree Collapse file tree 5 files changed +123
-1
lines changed Original file line number Diff line number Diff line change 1+ <?php
2+
3+ namespace Database \Factories ;
4+
5+ use App \Models \Order ;
6+ use Illuminate \Database \Eloquent \Factories \Factory ;
7+ use Illuminate \Support \Str ;
8+
9+ class OrderFactory extends Factory
10+ {
11+ /**
12+ * The name of the factory's corresponding model.
13+ *
14+ * @var string
15+ */
16+ protected $ model = Order::class;
17+
18+ /**
19+ * Define the model's default state.
20+ *
21+ * @return array
22+ */
23+ public function definition ()
24+ {
25+ return [
26+ 'user_id ' => $ this ->faker ->numberBetween (1 , 10 ),
27+ 'transaction_id ' => Str::random (16 ),
28+ 'total ' => $ this ->faker ->numberBetween (50000 , 200000 ),
29+ ];
30+ }
31+ }
Original file line number Diff line number Diff line change @@ -13,6 +13,9 @@ class DatabaseSeeder extends Seeder
1313 */
1414 public function run ()
1515 {
16- // \App\Models\User::factory(10)->create();
16+ $ this ->call ([
17+ UserSeeder::class,
18+ ProductSeeder::class,
19+ ]);
1720 }
1821}
Original file line number Diff line number Diff line change 1+ <?php
2+
3+ namespace Database \Seeders ;
4+
5+ use Illuminate \Database \Seeder ;
6+ use App \Models \Order ;
7+
8+ class OrderSeeder extends Seeder
9+ {
10+ /**
11+ * Run the database seeds.
12+ *
13+ * @return void
14+ */
15+ public function run ()
16+ {
17+ Order::factory ()
18+ ->times (10 )
19+ ->create ();
20+ }
21+ }
Original file line number Diff line number Diff line change 1+ <?php
2+
3+ namespace Database \Seeders ;
4+
5+ use App \Models \Category ;
6+ use App \Models \Order ;
7+ use Illuminate \Database \Seeder ;
8+ use App \Models \Product ;
9+
10+ class ProductSeeder extends Seeder
11+ {
12+ /**
13+ * Run the database seeds.
14+ *
15+ * @return void
16+ */
17+ public function run ()
18+ {
19+ Product::factory ()
20+ ->times (20 )
21+ ->create ();
22+
23+ Category::factory ()
24+ ->times (4 )
25+ ->create ();
26+
27+ Order::factory ()
28+ ->times (10 )
29+ ->create ();
30+
31+ $ categories = Category::all ();
32+ Product::all ()->each (function ($ product ) use ($ categories ) {
33+ $ product ->categories ()->attach (
34+ $ categories ->random (2 )->pluck ('id ' )->toArray ()
35+ );
36+ });
37+
38+ $ orders = Order::all ();
39+ Product::all ()->each (function ($ product ) use ($ orders ) {
40+ $ orderIds = $ orders ->random (3 )->pluck ('id ' )->toArray ();
41+ foreach ($ orderIds as $ orderId ) {
42+ $ product ->orders ()->attach ($ orderId , ['quantity ' => rand (1 , 5 )]);
43+ }
44+ });
45+ }
46+ }
Original file line number Diff line number Diff line change 1+ <?php
2+
3+ namespace Database \Seeders ;
4+
5+ use Illuminate \Database \Seeder ;
6+ use App \Models \User ;
7+
8+ class UserSeeder extends Seeder
9+ {
10+ /**
11+ * Run the database seeds.
12+ *
13+ * @return void
14+ */
15+ public function run ()
16+ {
17+ User::factory ()
18+ ->times (10 )
19+ ->create ();
20+ }
21+ }
You can’t perform that action at this time.
0 commit comments