Olá, estou tentando colocar uma coluna nos resultados de uma pesquisa para exibir a posição dela, que é facilemente resolvido usando algo como:
array(
'name' => 'name',
'value' => '$row + 1'
),
Também estou tentando agrupar certo resultado usando mergeColumns da extensão BootGroupGridView, que também funciona normalmente.
O problema está quando vou juntar essas duas soluções, por exemplo para exibir assim o resultado:
| # | Name |
| 1 | Nome 1 |
| | Nome 2 |
| | Nome 3 |
| 2 | Nome 4 |
| 3 | Nome 5 |
Eu fiz de varias formas, tais como (na propriedade ‘value’ do no campos que quero exibir em ‘columns’ do BootGroupGridView):
Para não contar uma linha quando for do mesmo grupo
‘value’ => ‘$data->group_id ? --$row : $row’
Tentei usar seção para guardar o numero
‘value’ => function( $model, $row ) {
global $_SESSION;
if( $model->group ) $_SESSION['count']++;
return $_SESSION['count'];
}
‘value’ => ‘$this->grid->dataProvider->pagination->currentPage * $this->grid->dataProvider->pagination->pageSize + $row + 1 - ( $data->group ? $_SESSION[“count”]++ : $_SESSION[“count”] )’
E tentei usar variaveis globais
‘value’ => function( $model, $row ) {
global $count;
if( $model->group_id ) $count++;
return $count;
}
Mas, em todas as soluções em que pensei, os resultados das variáveis retornavam valores absurdos, eu setava o valor como 1, e quando ia exibir o primeiro valor, exibia um valor muito alto como 7, ou negativo;