Ich habe ein _form
:Wie benutze ich das Update nach dem Erstellungsformular in yii2?
<?php $form = ActiveForm::begin(); ?>
<?= $form->field($model, 'result')->textInput(['maxlength' => true]) ?>
<?= $form->field($model, 'test1')->textInput(['maxlength' => true]) ?>
<?= $form->field($model, 'test2')->textInput(['maxlength' => true]) ?>
<?php ActiveForm::end(); ?>
<?= Html::submitButton($model->isNewRecord ? 'Create' : 'Update', ['class' => $model->isNewRecord ? 'btn btn-success' : 'btn btn-primary']) ?>
ich eine Formel festlegen müssen:
Mit rohen SQL result = test1 * test2 kann ich es in der Steuerung setzen:
public function actionIndex(){
Yii::$app->db->createCommand("UPDATE table1 SET result = test1*test2")->execute();
etc...
}
Und Es ist in Ordnung. Aber ich denke, es ist nicht korrekt. So ist die beste Art und Weise, dies zu tun ist:
public function actionTest($id)
{
$model = $this->findModel($id);
$model->result = $model->test1 * model->test2
}
nach:
<?= Html::a('gotest', ['test', 'id' => $model->id], ['class' => 'btn btn-success']) ?>
Aber wie kann ich $model->id
von Formular erstellen, um actionIndex bekommen? Oder vielleicht andere Option?
In diesem Fall brauche ich das Ergebnis in der Datenbank. Und 'afterFind()' funktioniert sehr gut, ich habe es vor einer Minute getestet. Und um ein virtuelles Feld mit 'public $ result;' hinzuzufügen, sehr interessant, denke ich, dass es für eine andere Aufgabe benötigt wird ex. 'checkboxList()' und Einfügen in eine Datenbankzelle (mit 'implode') .So wird Ihre Antwort mein Verständnis über die Verwendung des Modells verbessern. Vielen Dank –