36 lines
886 B
PHP
36 lines
886 B
PHP
<?php
|
|
|
|
namespace Database\Factories;
|
|
|
|
use App\Models\Product;
|
|
use App\Models\Purchase;
|
|
use App\Models\PurchaseItem;
|
|
use App\Models\User;
|
|
use Illuminate\Database\Eloquent\Factories\Factory;
|
|
|
|
/**
|
|
* @extends Factory<PurchaseItem>
|
|
*/
|
|
class PurchaseItemFactory extends Factory
|
|
{
|
|
protected $model = PurchaseItem::class;
|
|
|
|
/**
|
|
* @return array<string, mixed>
|
|
*/
|
|
public function definition(): array
|
|
{
|
|
$quantity = $this->faker->numberBetween(1, 10);
|
|
$unitPrice = $this->faker->numberBetween(10000, 500000);
|
|
|
|
return [
|
|
'purchase_id' => Purchase::factory(),
|
|
'user_id' => User::inRandomOrder()->first()?->id ?? User::factory(),
|
|
'product_id' => Product::factory(),
|
|
'quantity' => $quantity,
|
|
'unit_price' => $unitPrice,
|
|
'total_price' => $quantity * $unitPrice,
|
|
];
|
|
}
|
|
}
|