Ho un modulo con campi di selezione multipla denominati modulo "città" in Yii2. Quando mi presento forma i dati post mi mostrano la seguente:prima del salvataggio in Yii2
$_POST['city'] = array('0'=>'City A','1'=>'City B','2'=>'City C')
Ma voglio salvare la matrice in forma serialize come:
a:3:{i:0;s:6:"City A";i:1;s:6:"City B";i:2;s:6:"City C";}
Ma non so come modificare i dati prima salva la funzione in Yii2. Seguito è il mio codice:
if(Yii::$app->request->post()){
$_POST['Adpackage']['Page'] = serialize($_POST['Adpackage']['Page']);
$_POST['Adpackage']['fixer_type'] = serialize($_POST['Adpackage']['fixer_type']);
}
if ($model->load(Yii::$app->request->post()) && $model->save()) {
return $this->redirect(['view', 'id' => $model->id]);
} else {
return $this->render('create', [
'model' => $model
]);
}
Please help me.
Grazie a tutti per il vostro impegno. Ho risolto il problema. ecco il codice:
public function beforeSave($insert)
{
if (parent::beforeSave($insert)) {
$this->Page = serialize($_POST['Adpackage']['Page']);
$this->fixer_type = serialize($_POST['Adpackage']['fixer_type']);
return true;
} else {
return false;
}
}
Basta inserire questo codice nel modello e la sua lavorazione
In che modo è esattamente utile il commento @AkshayHegde? Avete già una sorta di configurazione di 'ActiveRecord' /' Model'? Se è così puoi aggiungere il codice? Dove stai cercando di salvare? – Blizz
Ho usato la funzione serializzazione ma i dati non vengono salvati in formato serializzato – Rajinder
Salva dove? Banca dati? Sessione? un file? per favore sii più specifico nella tua domanda, non possiamo vedere il tuo schermo e non sappiamo cosa stai pensando. – Blizz