mark01
(Anaps Na)
1
Não estou conseguindo exibir na view os resultados de um objeto classificado por data
Na model eu busco todos os produtos separados por data: com um Produto::model()->findAll();
E na view teria que classificar todos os produtos inseridos na mesma data em uma tabela com efeito de accordion:
Por exemplo:
Data 13/01/2017
ID | Nome Produto | Valor
5 | Mochila | 50,00
9 | Borracha | 2,50
Data 15/03/2017
ID | Nome Produto | Valor
1 | Corretivo | 4,50
4 | Caneta | 1,80
Alguém poderia me ajudar??
mark01
(Anaps Na)
2
Na view eu fiz isso, mas só o primeiro produto fica dentro da tabela certinho, outros produtos com a msm data perdem a formatação da tabela
<?php
if(sizeof($produto)){
$i = 0;
$j=0;
for ($i = 0; $i < sizeof($produto); $i++) {
if($i == 0){
$y = $i;
}else{
$y = $i - 1;
}
$Datainsercao = $produto[$i]->getAttribute("dt_inicio"));
if($i == 0){
$date = '';
}else {
$date = $produto[$y]->getAttribute("dt_inicio"));
}
if($date != $Datainsercao){
$j++;
echo '<div class="panel-group" role="tablist"
aria-multiselectable="true" id="accordion-1">
<div class="panel panel-default">';
echo '<div class="panel-heading" role="tab">
<h4 class="panel-title"><a role="button" data-toggle="collapse" data-parent="#accordion-1" aria-expanded="true" href="#accordion-1 .item-'.$j.'">'.CHtml::encode($Datainsercao).'</a></h4></div>';
echo '<div class="panel-collapse collapse in item-'.$j.'" role="tabpanel">';
echo '<div class="panel-body"><span> </span>';
echo '<div class="table-responsive">'
. '<table class="table events-program-table">'
. '<thead>
<tr>
<th>ID </th>
<th>Nome Produto </th>
<th>Valor </th>
</tr>
</thead><tbody><tr>
';
echo '<td>'. CHtml::encode($produto[$i]->dt_inicio).'</td>';
echo '<td>'. CHtml::encode($produto[$i]->nome).'</td>';
echo '<td>'. CHtml::encode($produto[$i]->valor).'</td>';
}else{
echo '<td>'. CHtml::encode($produto[$i]->dt_inicio).'</td>';
echo '<td>'. CHtml::encode($produto[$i]->nome).'</td>';
echo '<td>'. CHtml::encode($produto[$i]->valor).'</td>';
}
echo '</tr></tbody>
</table>
</div>
</div>';
}
}
?>