47 lines
1.1 KiB
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,
|
|
];
|
|
});
|
|
}
|
|
}
|