MIF_E31211908/database/seeders/Penjualan.php

53 lines
1.6 KiB
PHP

<?php
namespace Database\Seeders;
use Carbon\Carbon;
use Illuminate\Database\Console\Seeds\WithoutModelEvents;
use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB;
class Penjualan extends Seeder
{
/**
* Run the database seeds.
*/
public function run(): void
{
$startDate = Carbon::create(2023, 1, 1);
$currentDate = Carbon::now();
for ($date = $startDate; $date->lessThanOrEqualTo($currentDate); $date->addDay()) {
for ($i = 1; $i <= 20; $i++) {
$transactionNumber = 'TRN' . $date->timestamp . '_' . $i;
$createdAt = $date;
$updatedAt = $date->copy()->addDays(rand(0, 30));
$penjualanId = DB::table('penjualan')->insertGetId([
'kasir' => rand(1, 10),
'no_transaksi' => $transactionNumber,
'diskon' => '',
'pembayaran' => rand(0, 1) ? 'cash' : 'qris',
'created_at' => $createdAt,
'updated_at' => $updatedAt,
]);
$numItems = 1;
$barangIds = DB::table('barang')->pluck('id')->toArray();
for ($j = 0; $j < $numItems; $j++) {
DB::table('list_item_penjualan')->insert([
'penjualan_id' => $penjualanId,
'barang_id' => $barangIds[array_rand($barangIds)],
'qty' => rand(1, 10),
'created_at' => $createdAt,
'updated_at' => $updatedAt,
]);
}
}
}
}
}