Cancellare record in altra tabella e "redirect" al punto di partenza

Ho una tabella "Progetto" e una tabella "Immagine"

A ogni progetto possono corrispondere più immagini

Ho modificato la view.php di Progetto in modo da visualizzare le immagini associate.

Vorrei, inoltre, poter eliminare ciascuna immagine tramite il relativo link "Delete":


	echo CHtml::link(

		'Delete',

		'#',

		array(

			'submit'=>array('immagine/deletePreview','id'=>$data->id),

			'confirm'=>'Sei sicuro di voler cancellare questa immagine?'

			)

	);

In ImmagineController ho il seguente metodo che spero sia corretto

(al momento cancella solo i dati dal db e non i files):


	public function actionDeletePreview()

	{		

		if(isset($_GET['id'])) {

			$id = $_GET['id'];

		}  else {

			throw new CHttpException(400,'Immagine non trovata.');

		}

		if(Yii::app()->request->isPostRequest) {

			// we only allow deletion via POST request

			$preview = Immagine::model()->findByPk($id);

			$preview->delete();

		}

		

		$this->redirect(isset($_POST['returnUrl']) ? $_POST['returnUrl'] : array('admin'));

	}

Dopo aver cancellato vorrei ritornasse dove era prima, la view.php di Progetto

Se non ho capito male devo passare nel link il "returnUrl" ma non ho idea di come fare.

Qualcuno può darmi una dritta?

Se ho capito bene:

Supponiamo che il controller del tuo Progetto si chiami ProgettoController.[b]

[/b]

Prova con


$this->redirect('ProgettoController/admin');

Grazie dchan,

ho risolto così,

da:


echo CHtml::link(

		'Delete',

		'#',

		array(

			'submit'=>array('immagine/deletePreview','id'=>$data->id),

			'confirm'=>'Sicuro di voler cancellare questa immagine?'

			)

	);

a:


echo CHtml::link(

		'Delete',

		'#',

		array(

			'submit'=>array('immagine/deletePreview','id'=>$data->id),

			'params'=>array('returnUrl'=>'/index.php/progetto/'.$data->progetto_id),

			'confirm'=>'Sicuro di voler cancellare questa immagine?'

			)

	);

Sembra funzionare.

Grazie comunque della cortese risposta