0
頁腳是一個字符串,如果我把「價值」工作正常,但在頁腳給我一個錯誤:如何在GridView控件定義頁腳中的值
trim() expects parameter 1 to be string, object given
GridView::widget([
'dataProvider' => $dataProvider,
'showFooter' => true,
'footerRowOptions'=>['style'=>'font-weight:bold;text-decoration: underline;'],
'columns' => [
[
'attribute' => 'XXX',
'format' => 'currency',
'value' => function($model) use ($anoFilter) {
return $model->getValorTotalParcelas($anoFilter);
},
'footer' => function($model) use ($anoFilter) {
return $model->getValorTotal($anoFilter);
}
]
])
getValorTotal
public function getValorTotal($ano = null){
$titulo = new FinlegadoTitulo();
$valorTotalParcelas = $titulo->getValorTotalparcelasByClienteAndStatus(null,false,false,$ano);
return $valorTotalParcelas;
}
和
public function getValorTotalparcelasByClienteAndStatus($clienteId = null, $aberta = false, $vencida = false,$ano = null){
$parcelas = FinlegadoTituloParcela::find()->joinWith(['finlegadoTitulo']);
if ($clienteId) {
$parcelas->andWhere(['finlegado_cliente_id' => $clienteId]);
}
if ($ano) {
$parcelas->andWhere('YEAR(tbl_finlegado_titulo_parcela.data_pagamento_previsto) = ' . $ano);
}
if($aberta){
$parcelas->andWhere(['tbl_finlegado_titulo_parcela.pago' => null]);
$parcelas->andWhere("tbl_finlegado_titulo_parcela.status <> 'C'");
$parcelas->andWhere("tbl_finlegado_titulo_parcela.status <> 'D'");
if($vencida){
$parcelas->andWhere('tbl_finlegado_titulo_parcela.data_pagamento_previsto < (NOW() - interval '.Yii::$app->params['delay_inadimplencia'].' day)');
}else{
$parcelas->andWhere('tbl_finlegado_titulo_parcela.data_pagamento_previsto >= NOW()');
}
} else {
$parcelas->andWhere(['tbl_finlegado_titulo_parcela.pago' => true]);
}
return $parcelas->sum('valor_parcela');
}
上面的代碼工作正常
可以從模型$模型 - > getValorTotal($ anoFilter)發佈;方法代碼 –
可以測試這個當你設置頁腳:return(string)$ model-> getValorTotal($ anoFilter); –
但是什麼樣的結果給你$ titulo-> getValorTotalparcelasByClienteAndStatus(null,false,false,$ ano);請提供相關代碼或結果的var_dump。 – scaisEdge