77 lines
2.4 KiB
PHP
77 lines
2.4 KiB
PHP
<?php
|
|
|
|
namespace Database\Seeders;
|
|
|
|
use App\Models\Work;
|
|
use App\Models\Product;
|
|
use App\Models\WorkProduct;
|
|
use Illuminate\Database\Seeder;
|
|
|
|
class WorkProductSeeder extends Seeder
|
|
{
|
|
/**
|
|
* Run the database seeds.
|
|
*
|
|
* @return void
|
|
*/
|
|
public function run()
|
|
{
|
|
// Get some sample works and products
|
|
$works = Work::take(3)->get();
|
|
$products = Product::where('active', true)->take(5)->get();
|
|
|
|
if ($works->isEmpty() || $products->isEmpty()) {
|
|
$this->command->info('Tidak ada data Work atau Product untuk seeding. Silakan buat data tersebut terlebih dahulu.');
|
|
return;
|
|
}
|
|
|
|
// Sample work-product relationships
|
|
$workProductData = [
|
|
[
|
|
'work_id' => $works->first()->id,
|
|
'product_id' => $products->first()->id,
|
|
'quantity_required' => 2.0,
|
|
'notes' => 'Digunakan untuk pembersihan awal'
|
|
],
|
|
[
|
|
'work_id' => $works->first()->id,
|
|
'product_id' => $products->skip(1)->first()->id,
|
|
'quantity_required' => 1.0,
|
|
'notes' => 'Untuk finishing'
|
|
],
|
|
[
|
|
'work_id' => $works->skip(1)->first()->id,
|
|
'product_id' => $products->skip(2)->first()->id,
|
|
'quantity_required' => 3.0,
|
|
'notes' => 'Komponen utama'
|
|
],
|
|
[
|
|
'work_id' => $works->skip(1)->first()->id,
|
|
'product_id' => $products->skip(3)->first()->id,
|
|
'quantity_required' => 0.5,
|
|
'notes' => 'Pelumas tambahan'
|
|
],
|
|
[
|
|
'work_id' => $works->skip(2)->first()->id,
|
|
'product_id' => $products->skip(4)->first()->id,
|
|
'quantity_required' => 1.0,
|
|
'notes' => 'Standard usage'
|
|
]
|
|
];
|
|
|
|
foreach ($workProductData as $data) {
|
|
WorkProduct::firstOrCreate(
|
|
[
|
|
'work_id' => $data['work_id'],
|
|
'product_id' => $data['product_id']
|
|
],
|
|
[
|
|
'quantity_required' => $data['quantity_required'],
|
|
'notes' => $data['notes']
|
|
]
|
|
);
|
|
}
|
|
|
|
$this->command->info('Work Product relationships seeded successfully!');
|
|
}
|
|
}
|