Ich habe viel über meine Frage gelernt und habe es nicht herausgefunden. Ich brauche zwei oder mehr Werte in der Datenbank activeForm
checkboxlist Mehrfachauswahl in db yii2?
<?= $form->field($model, 'quant[]')->checkboxList([
'one' => 'one',
'two' => 'two',
'three' => 'three',
'four' => 'four'],
['separator' => '<br>']); ?>
So, nachdem sie von checkboxList()
Aus meiner Sicht zu schreiben, egal erstellen, wie viel Werte, die ich wählen, nur einer wird in db hinzuzufügen. Ich erkannte, dass ich ein Array im Controller bekommen muss und dann wird es in der Datenbank speichern. Etwas wie folgt aus:
public function actionCreate()
{
$model = new TakMol();
if ($model->load(Yii::$app->request->post()) && $model->save()) {
$model->quant=implode(',',$_POST['TakMol']['quant']); //change items into string to be saved
return $this->redirect(['index']);
} else {
$model->quant=explode(',',$model->quant); //string to array to fill the checkboxlist
return $this->render('create', [
'model' => $model,
]);
}
}
Vielleicht brauche ich so etwas wie dies zu tun in actionCreate
$post=Yii::$app->request->post();
$checkbox = array_keys ($post);
foreach ($checkbox as $value){
$model = new TakMol();
$model->quant = $model->id;
$model->quant = $value;
$model->save();
}
Ich habe versucht, und andere Optionen, es hat nicht funktioniert. Ich werde dankbar sein für Hilfe bei der Lösung.
Haben Sie Ihre Frage nicht richtig.Was Sie tun wollen.Und was ist aktuelle Ausgabe. –
In 'CRUD'' _form' muss ich mehrere Kontrollkästchen aktivieren, wenn ich ein Formular erstelle. Dann bekomme ich in meinem db (selbe im Index 'GridView' Spalte' quant') eingegebene Werte. Zum Beispiel: add img _form (Zelle) Ich wähle 'Quant: 1,3,4'. Nach form create gibt es nur einen (ersten) Wert zurück, addiere img index (cell). –