auditionadmin/database/factories/ScoreSheetFactory.php

47 lines
1.1 KiB
PHP

<?php
namespace Database\Factories;
use App\Models\Entry;
use App\Models\ScoreSheet;
use App\Models\User;
use Illuminate\Database\Eloquent\Factories\Factory;
use Illuminate\Support\Carbon;
class ScoreSheetFactory extends Factory
{
protected $model = ScoreSheet::class;
public function definition(): array
{
return [
'subscores' => json_encode([1, 2, 3]),
'created_at' => Carbon::now(),
'updated_at' => Carbon::now(),
'seating_total' => $this->faker->randomFloat(),
'advancement_total' => $this->faker->randomFloat(),
'user_id' => User::factory(),
'entry_id' => Entry::factory(),
];
}
public function forUser(User $user)
{
return $this->state(function (array $attributes) use ($user) {
return [
'user_id' => $user->id,
];
});
}
public function forEntry(Entry $entry)
{
return $this->state(function (array $attributes) use ($entry) {
return [
'entry_id' => $entry->id,
];
});
}
}