[Risolto] Trasmettere Il Concetto Di Valore Di Default Da Mysql Alla Vista _Frorm

Mi sono dimenticato di inserire il fatto che una colonna di una tabella mysql ha come valore predefinito un numero, il ‘2’.

L’ho modificato nel DB, ma ora, come lo dico ad Yii ? Così quando creo una nuova form, il ‘2’ è già presente nel campo .

puoi fare tranquillamente cosi

se ti interessa vederlo nella view:




<?php echo $form->textField($model,'nome_campo',array('value'=>2)); ?>



altrimenti nel controller quando vai a salvare i dati




$model->attributes = $_POST['Model'];

$model->nome_campo = 2;

$model>save



Per fare in modo che nel campo venga visualizzato un valore, devi valorizzare il model prima di renderizzare la view.

Grazie !

La prima funziona a meraviglia,

La seconda … dove si fa ? devo buttare il pezzettino di codice qui dentro ?

UserController




	public function actionCreate()

	{

		$model=new User;


		// Uncomment the following line if AJAX validation is needed

		// $this->performAjaxValidation($model);


		[b]if(isset($_POST['User']))

		{

			$model->attributes=$_POST['User'];

			if($model->save())

				$this->redirect(array('index'));

		}[/b]


		$this->render('create',array(

			'model'=>$model,

		));

	}



ti ho commentato il codice, con quello suggerito da sensorario e quello che ti dicevo.




	public function actionCreate()

	{

		$model=new User;


/*quello che suggeriva sensorario dovrebbe essere questo:

in questa maniera non imposti nella view il value a 2, arriva già valorizzato*/

                $model->nome_campo=2;

                

               if(isset($_POST['User']))

		{

			$model->attributes=$_POST['User'];


/*in questa maniera salvi 2 in nome_campo.. qualunque valore arrivi per nome_campo, quindi non so se è il tuo caso*/

                        $model->nome_campo=2;


			if($model->save())

				$this->redirect(array('index'));

		}


		$this->render('create',array(

			'model'=>$model,

		));

	}



Grazie a tutti, la soluzione di pre-popolare i campi predefiniti sull’actionCreate è ottima

naturalmente, in caso di post, invece, uso i valori immessi dall’utente (per esempio il campo ‘attivo’) in certi casi,

mentre per altri (esempio il ‘registrationUserId’, cioè l’utente che ha fatto la registrazione) l’utente non deve neppure vedere il campo, per cui sono tranquillo.