yii2在使用模式下拉列表保存之前

yii2在使用模式下拉列表保存之前,yii2,before-save,Yii2,Before Save,我正在尝试实现beforeSave函数,该函数从选定的模式dropdownlist将值相应地更改为正数或负数,但在以下情况下,它始终会相应地更改为第一个: 这是模态代码: <?= $form->field($model, 'tipo_fatura')->dropDownList([ 'Fatura' => 'Fatura', 'Nota de Crédito' => 'Nota de Crédito', ], ['prompt' => '']) ?

我正在尝试实现beforeSave函数,该函数从选定的模式dropdownlist将值相应地更改为正数或负数,但在以下情况下,它始终会相应地更改为第一个:

这是模态代码:

<?= $form->field($model, 'tipo_fatura')->dropDownList([ 'Fatura' => 
'Fatura', 'Nota de Crédito' => 'Nota de Crédito', ], 
    ['prompt' => '']) ?>
对不起,我的英语不好


这是因为您在if条件中赋值,而不是检查它们

if ($tipo_fatura->index = 2) {
注意这里的
=
操作符,它应该是
=
。其他情况也是如此

赋值是一个有效的操作,PHP不会对此抛出任何错误或通知。因此,一个好的经验法则是在如下条件下始终使用左侧的值部分:

if ( 2 == $test ) {

    // do something
}
在这种情况下,即使您在这里错误地添加了一个
=
,PHP也会抛出一个
PHP解析错误
,因为
2=$test
将不是有效的操作

if ( 2 == $test ) {

    // do something
}