diff --git a/app/Http/Controllers/PeopleController.php b/app/Http/Controllers/PeopleController.php index 86cdb40..7945c2a 100644 --- a/app/Http/Controllers/PeopleController.php +++ b/app/Http/Controllers/PeopleController.php @@ -54,11 +54,11 @@ class PeopleController extends Controller $person->save(); // If the member states data is non-empty, save a record to the database. - if (!is_null(request('joining_date')[0])) { + if (!is_null(request('memberState')[0]['joining_date'])) { $memberState = new MemberState(); - $memberState->joining_date = request('joining_date')[0]; - $memberState->leaving_date = request('leaving_date')[0]; + $memberState->joining_date = request('memberState')[0]['joining_date']; + $memberState->leaving_date = request('memberState')[0]['leaving_date']; $person->memberStates()->save($memberState); } @@ -94,13 +94,18 @@ class PeopleController extends Controller // If the member states data is non-empty, save a record to the database. if ($person->title != 'Firma') { - for ($i = 0; $i < sizeof(request('joining_date')); $i++) { - $memberState = !$person->isMember() ? - new MemberState() : - $person->MemberState::find(request('memberStateId')[$i]); + foreach (request('memberState') as $id => $rMemberState) { + if ($rMemberState['joining_date'] === null) { + continue; + } - $memberState->joining_date = request('joining_date')[$i]; - $memberState->leaving_date = request('leaving_date')[$i]; + $memberState = $id === 0 ? + new MemberState() : + MemberState::find($id); + + $memberState->joining_date = $rMemberState['joining_date']; + $memberState->leaving_date = $rMemberState['leaving_date']; + $memberState->person_id = $person->id; $memberState->save(); } diff --git a/resources/views/layout/forms/person.blade.php b/resources/views/layout/forms/person.blade.php index d41eeb5..fa4a680 100644 --- a/resources/views/layout/forms/person.blade.php +++ b/resources/views/layout/forms/person.blade.php @@ -79,9 +79,22 @@ @if ($person->wasMember()) @foreach ($person->memberStates as $memberState) - {{ Form::hidden('memberStateId[]', $memberState->id) }} - {{ Form::date('joining_date[]', $memberState->joining_date) }} - {{ Form::date('leaving_date[]', $memberState->leaving_date) }} + + {{ + Form::date( + "memberState[$memberState->id][joining_date]", + $memberState->joining_date + ) + }} + + + {{ + Form::date( + "memberState[$memberState->id][leaving_date]", + $memberState->leaving_date + ) + }} + @endforeach @endif @@ -89,8 +102,8 @@ {{-- Create empty input field for a new member state record. --}} @if (!$person->isMember()) - {{ Form::date('joining_date[]') }} - {{ Form::date('leaving_date[]') }} + {{ Form::date('memberState[0][joining_date]') }} + {{ Form::date('memberState[0][leaving_date]') }} @endif