create([ 'nama' => 'andre', 'role' => 'owner', 'password' => bcrypt('123123'), ]); User::factory()->create([ 'nama' => 'luis', 'role' => 'kasir', 'password' => bcrypt('123123'), ]); User::factory(2)->create(); Sales::factory(5)->create(); for ($i=0; $i <= 30; $i++) { if ($i != 13) { Nampan::factory()->create([ 'nama' => 'A' . ($i + 1) ]); } } $kategoriList = ['Cincin', 'Gelang Rantai', 'Gelang Bulat', 'Kalung', 'Liontin', 'Anting', 'Giwang']; foreach ($kategoriList as $kategori) { Kategori::factory()->create([ 'nama' => $kategori ]); } // Produk::factory(10)->create()->each(function ($produk) { // // setiap produk punya 1-3 foto // $jumlah_foto = rand(1, 3); // $fotoData = []; // for ($i = 0; $i < $jumlah_foto; $i++) { // $fotoData[] = [ // // 'url' => 'https://random-image-pepebigotes.vercel.app/api/random-image' // 'url' => 'https://static.promediateknologi.id/crop/0x0:0x0/0x0/webp/photo/p2/255/2024/12/10/Screenshot_2024-12-10-11-50-18-88_1c337646f29875672b5a61192b9010f9-1-1282380831.jpg' // ]; // } // $produk->foto()->createMany($fotoData); // $jumlah_item = rand(1, 20); // Item::factory($jumlah_item)->create([ // 'id_produk' => $produk->id, // ]); // }); $produk1 = Produk::factory()->create([ 'nama'=>'Gelang serut daun shimmer mp (mas putih)', 'id_kategori'=>Kategori::find(2), 'berat'=>1.4, 'kadar'=>8, 'harga_per_gram'=>900000, 'harga_jual'=>1260000, ]); $produk1->foto()->create([ 'id_produk'=>$produk1->id, 'url'=>'https://i.imgur.com/eGYHzvw.jpeg' ]); $produk2 = Produk::factory()->create([ 'nama'=>'Gelang rantai 5 buah clover merah', 'id_kategori'=>Kategori::find(2), 'berat'=>3.6, 'kadar'=>8, 'harga_per_gram'=>850000, 'harga_jual'=>3060000, ]); $produk2->foto()->create([ 'id_produk'=>$produk2->id, 'url'=>'https://i.imgur.com/UjQzYoE.jpeg' ]); Item::factory(500)->create(); // 75% peluang item masuk nampan, sisanya di brankas $nampans = Nampan::all()->pluck('id')->toArray(); $jumlahNampan = count($nampans); $counter = 0; foreach (Item::all() as $item) { if (rand(1, 100) <= 75) { $item->update([ 'id_nampan' => $nampans[$counter % $jumlahNampan], ]); $counter++; } } Transaksi::factory(250)->create()->each(function ($transaksi) { $jumlah_item = rand(1, 2); $items = Item::with('produk')->inRandomOrder()->limit($jumlah_item)->get(); if ($items->isEmpty()) return; $total_harga = $transaksi->total_harga; foreach ($items as $item) { $transaksi->itemTransaksi()->create([ 'id_produk' => $item->produk->id, 'harga_deal' => $item->produk->harga_jual, 'posisi_asal' => $item->id_nampan ? $item->nampan->nama : 'Brankas', ]); $item->delete(); $total_harga += $item->produk->harga_jual; } $transaksi->update(['total_harga' => $total_harga]); }); } }