53 lines
1.6 KiB
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,
|
|
]);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|