@php($totalColumns = [])
@if (count($data) != 0) @foreach ($data as $key => $val) @php($rowLinkEnabled = isset($tableParams['rowLink']) && $tableParams['rowLink'] && isset($tableParams['rowLinkRoute'])) @php($rowLinkUrl = null) @if($rowLinkEnabled) @php($rowLinkUrl = null) @php($rowLinkParams = $tableParams['rowLinkParams'] ?? []) @php($scalarField = $tableParams['rowLinkScalarField'] ?? null) @if($scalarField && isset($val->{$scalarField})) {{-- Positional parameter route (supports optional query extras via rowLinkExtraParams) e.g. route('merchants.show', 6) -> /merchants/6 --}} @php($extraParams = $tableParams['rowLinkExtraParams'] ?? []) @php($rowLinkUrl = empty($extraParams) ? route($tableParams['rowLinkRoute'], $val->{$scalarField}) : route($tableParams['rowLinkRoute'], array_merge([$val->{$scalarField}], $extraParams))) @else @php($paramMap = is_array($tableParams['rowLinkRouteParamMap'] ?? null) ? $tableParams['rowLinkRouteParamMap'] : []) {{-- Fallback for legacy single param configuration (deprecated) --}} @if(empty($paramMap) && isset($tableParams['rowLinkParamField'])) @php($legacyField = $tableParams['rowLinkParamField']) @php($legacyName = $tableParams['rowLinkRouteParamName'] ?? $legacyField) @php($paramMap[$legacyField] = $legacyName) @endif @foreach($paramMap as $modelField => $routeName) @php($valField = isset($val->{$modelField}) ? $val->{$modelField} : null) @if(!is_null($valField)) @php($rowLinkParams[$routeName] = $valField) @endif @endforeach @if(!empty($rowLinkParams)) @php($rowLinkUrl = route($tableParams['rowLinkRoute'], $rowLinkParams)) @endif @endif @endif