Add unique key to audition etudes

This commit is contained in:
Matt Young 2025-12-18 14:24:58 -06:00
parent c676690967
commit cc831c026d
1 changed files with 5 additions and 1 deletions

View File

@ -4,6 +4,7 @@ namespace App\Http\Requests;
use App\Models\AuditionedEnsemble; use App\Models\AuditionedEnsemble;
use Illuminate\Foundation\Http\FormRequest; use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Validation\Rule;
class EtudeUploadRequest extends FormRequest class EtudeUploadRequest extends FormRequest
{ {
@ -30,9 +31,12 @@ class EtudeUploadRequest extends FormRequest
'required', 'required',
'numeric', 'numeric',
'min:1', 'min:1',
Rule::unique('audition_etudes')
->where('auditioned_ensemble_id', $this->auditioned_ensemble_id)
->where('instrument_id', $this->instrument_id),
function ($attribute, $value, $fail) { function ($attribute, $value, $fail) {
/** @noinspection PhpUndefinedFieldInspection */ /** @noinspection PhpUndefinedFieldInspection */
$ensemble = AuditionedEnsemble::find($this->audtioned_ensemble_id); $ensemble = AuditionedEnsemble::find($this->auditioned_ensemble_id);
if ($ensemble && $value > $ensemble->set_count) { if ($ensemble && $value > $ensemble->set_count) {
$fail("The set number cannot exceed {$ensemble->set_count} for this ensemble."); $fail("The set number cannot exceed {$ensemble->set_count} for this ensemble.");
} }