web-dinda-private/database/seeders/TransaksiSeeder.php

47 lines
1.4 KiB
PHP

<?php
namespace Database\Seeders;
use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB;
use Carbon\Carbon;
use App\Models\Barang;
use App\Models\Supplier;
use App\Models\Pemasukan;
use App\Models\Pengeluaran;
use App\Models\Transaksi;
class TransaksiSeeder extends Seeder
{
public function run(): void
{
$barang = Barang::all();
$supplier = Supplier::all();
$pemasukan = Pemasukan::all();
$pengeluaran = Pengeluaran::all();
$startDate = Carbon::now()->subYear();
$endDate = Carbon::now();
for ($i = 0; $i < 5; $i++) { // pilih bulan dari 1 - 12
$tipe = 'pemasukan'; // selang-seling
$tanggal = Carbon::create(2025, 1, 1)
->addMonths($i)
->day(rand(26, 30)) // Acak tanggal antara 1 sampai 28 agar aman untuk semua bulan
->setTime(rand(0, 23), rand(0, 59), rand(0, 59)); // Acak waktu dalam hari
Transaksi::create([
'barang_id' => $barang->random()->id,
'supplier_id' => $supplier->random()->id,
'pemasukan_id' => $tipe === 'pemasukan' ? $pemasukan->random()->id : null,
'pengeluaran_id' => $tipe === 'pengeluaran' ? $pengeluaran->random()->id : null,
'qty' => rand(1, 10),
'jumlahRp' => rand(300000, 900000),
'waktu_transaksi' => $tanggal,
]);
}
}
}