@foreach($indicatorEvicriterias as $indicatorEvicriteria)
@php
if(!empty($entry))
{
$indicator = $entry->indicatorReferenceItems()
->where('indicator_criteria_id', $criteria->id)
->where('indicator_sub_criteria_id', $indicatorSubCriteria->id)
->where('indicator_evicriteria_id', $indicatorEvicriteria->id)
->first();
}
@endphp
@foreach($field['subfields'] as $subfield)
@if($subfield['name'] == 'attachment')
@php
$subfieldView = "crud::fields.upload";
$subfield['label'] = $indicatorEvicriteria->title;
if(isset($row)) {
// Cast objects to array (could be a translation object, or a developer provided collection).
if (is_object($row)) {
$row = collect($row)->toArray();
}
if(!is_array($subfield['name'])) {
if(!Str::contains($subfield['name'], '.')) {
// this is a fix for 4.1 repeatable names that when the field was multiple, saved the keys with `[]` in the end. Eg: `tags[]` instead of `tags`
if(isset($row[$subfield['name']]) || isset($row[$subfield['name'].'[]'])) {
$subfield['value'] = $row[$subfield['name']] ?? $row[$subfield['name'].'[]'];
}
$subfield['name'] = $field['name'].'['.$rowkey.']['.$subfield['name'].']';
}else{
$subfield['value'] = \Arr::get($row, $subfield['name']);
$subfield['name'] = $field['name'].'['.$rowkey.']['.Str::replace('.', '][', $subfield['name']).']';
}
}else{
foreach ($subfield['name'] as $k => $item) {
$subfield['name'][$k] = $field['name'].'['.$rowkey.']['.$item.']';
$subfield['value'][$subfield['name'][$k]] = \Arr::get($row, $item);
}
}
} else {
// use an un-matchable field name to avoid field initialization problems
// this would prevent the field from EVER get value in old() and triggering errors.
if(!is_array($subfield['name'])) {
$subfield['name'] = $field['name'].'['.$rowkey.']['.$subfield['name'].']';
}else{
foreach($subfield['name'] as $k => $subfieldName) {
$subfield['name'][$k] = $field['name'].'['.$rowkey.']['.$subfieldName.']';
}
}
}
if(!empty($indicator) && !empty($indicator->attachment))
{
$subfield['value'] = $indicator->attachment;
}
@endphp
@include($subfieldView, ['field' => $subfield])
@endif
@if(!empty($indicator))
@endif
@if(!empty($indicatorEvicriteria->appendix) && $subfield['name'] == 'appendix')
@php
$subfieldViewAppendix = "crud::fields.upload_multiple";
if(isset($row)) {
// Cast objects to array (could be a translation object, or a developer provided collection).
if (is_object($row)) {
$row = collect($row)->toArray();
}
if(!is_array($subfield['name'])) {
if(!Str::contains($subfield['name'], '.')) {
// this is a fix for 4.1 repeatable names that when the field was multiple, saved the keys with `[]` in the end. Eg: `tags[]` instead of `tags`
if(isset($row[$subfield['name']]) || isset($row[$subfield['name'].'[]'])) {
$subfield['value'] = $row[$subfield['name']] ?? $row[$subfield['name'].'[]'];
}
$subfield['name'] = $field['name'].'['.$rowkey.']['.$subfield['name'].']';
}else{
$subfield['value'] = \Arr::get($row, $subfield['name']);
$subfield['name'] = $field['name'].'['.$rowkey.']['.Str::replace('.', '][', $subfield['name']).']';
}
}else{
foreach ($subfield['name'] as $k => $item) {
$subfield['name'][$k] = $field['name'].'['.$rowkey.']['.$item.']';
$subfield['value'][$subfield['name'][$k]] = \Arr::get($row, $item);
}
}
} else {
// use an un-matchable field name to avoid field initialization problems
// this would prevent the field from EVER get value in old() and triggering errors.
if(!is_array($subfield['name'])) {
$subfield['name'] = $field['name'].'['.$rowkey.']['.$subfield['name'].']';
}else{
foreach($subfield['name'] as $k => $subfieldName) {
$subfield['name'][$k] = $field['name'].'['.$rowkey.']['.$subfieldName.']';
}
}
}
if(!empty($indicator) && !empty($indicator->appendix))
{
$subfield['value'] = $indicator->appendix;
}
$subfield['appendix'] = $indicatorEvicriteria->appendix;
@endphp
@include($subfieldViewAppendix, ['field' => $subfield])
@endif
@endforeach
@php
$rowkey++;
@endphp
@endforeach