how to display a higher value, for example, if mass > volume
then the mass price
appears in gridview, if mass < volume
then the volume price
appears. I use source code like this but still can't.
[
'label' => 'Tarif',
'format' => 'Currency',
'value' => function ($model) {
if ($volume= $model['rate'] * Yii::$app->request->get('TarifCargoSearch')['panjang'] * Yii::$app->request->get('TarifCargoSearch')['lebar'] * Yii::$app->request->get('TarifCargoSearch')['tinggi'] / 4000)
return $volume;
else if ($mass= $model['rate'] * Yii::$app->request->get('TarifCargoSearch')['massa'])
return $mass;
else if ($volume > $mass)
return $volume;
else if ($volume < $mass)
return $mass;
}
],
[
'label' => 'Tarif',
'format' => 'Currency',
'value' => function ($model) {
$volume = $model['rate'] * Yii::$app->request->get('TarifCargoSearch')['panjang'] * Yii::$app->request->get('TarifCargoSearch')['lebar'] * Yii::$app->request->get('TarifCargoSearch')['tinggi'] / 4000;
$mass = $model['rate'] * Yii::$app->request->get('TarifCargoSearch')['massa'];
return $mass > $volume? $mass : $volume;
}
],
Check this out and let me know, please make sure that your calculations are correct.
Edited
[
'label' => 'Tarif',
'format' => 'Currency',
'value' => function ($model) {
// Please note that the $model will be object not an array
$volume = $model->rate * Yii::$app->request->get('TarifCargoSearch')['panjang'] * Yii::$app->request->get('TarifCargoSearch')['lebar'] * Yii::$app->request->get('TarifCargoSearch')['tinggi'] / 4000;
$mass = $model->rate * Yii::$app->request->get('TarifCargoSearch')['massa'];
return $mass > $volume? $mass : $volume;
}
],
Make sure that your calculations are correct. Reference https://www.yiiframework.com/doc/guide/2.0/en/output-data-widgets