Joomla.it Forum
Non solo Joomla... => Sviluppo => : tampe125 16 Sep 2010, 20:38:32
-
Salve a tutti, mi sembra di essermi perso in un bicchiere d'acqua e non riesco a venirne fuori.
Volevo sapere come posso fare per inserire il task "apply".
Teoricamente dopo aver salvato il record dovrei fare la load per mostrare nuovamente i dati.
Questa cosa è semplice se sto modificando un record già esistente, ma come faccio nel caso in cui sto inserendo un record nuovo?
l'id non è stato ancora assegnato, potrei prenderlo con la funzione $db->insertid() , ma non mi sento molto sicuro perchè qualcosa potrebbe essere inserito nel mentre...
qualche suggerimento?
come al solito, grazie in anticipo :D
-
ciao!
quando richiami il metodo store() della classe derivata da Jtable, il framework decide autonomamente se si tratta un update o di una insert.
la decisione è presa sulla base del valore della proprietà che rappresenta la primary key che è passata al costruttore della citata classe. in caso di insert (primaryKey==0) il framework provvede ad aggiornarne il valore sì che possa essere usato da riferimento.
pertanto, premesso che i task apply e save verranno gestiti dal medesimo metodo (convenzionalmente save nel controller, store nel model) in coda allo stesso (in esempio il model) avrai:
$row =& $this->getTable();
....
$row->store(); // ovviamente mettici il controllo dell'operazione
....
switch ($task){
case 'apply':
$link = 'index.php?option=com_ilmiocomponente&task=edit&cid[]='. $row->tuaPrimaryKey ;
break;
case 'save':
default:
$link = 'index.php?option=com_ilmiocomponente';
break;
}
$this->setRedirect( $link, JText::_( 'Item Saved' ) );
....
ciao,
marco
-
grazie mille!
come volevasi dimostrare, era proprio un bicchere d'acqua :D
-
azz!
Full Member e ti devo ancora dire:
ricordati il [RISOLTO] nel titolo del post di apertura del topic!
;D ;D
ciao,
marco
-
tzè e sennò come fate a mantenervi in forma?
e poi non lo sai che io sono n00b inside?
ps ho visto in un forum (quello di sobi mi sembra) che hanno aggiunto un bottone apposta: mette il titolo risolto e scrive nel primo post in quale post si è avuta la soluzione.
se non è troppo complicato forse sarebbe utile anche qua
-
tzè e sennò come fate a mantenervi in forma?
mai sentito parlare di mountain bike? :P
mi sono giusto comprato quella nuova oggi! ;D ;D
per il resto passo la patata, bollente come al solito, ad alexred!
'notte,
marco