[Yii 1] Come stampare gli errori usando CdbCommand->insert ?

Per velocizzare un inserimento ‘di massa’ uso




$this->createCommand()->insert( 

..



dove $this è una classe derivata da CDbConnection.

Ho notato che alcune insert falliscono (perchè arrivano nel db meno righe di quante presenti nel file da cui le leggo). Sarà un problema con i dati, ma avrei bisogno di identificarlo meglio.

Come ottengo gli eventuali errori SQL in questo caso?

metti tutto all’interno di una transazione, e poi usi $exception->getMessage()

Ma genera una vera exception se l’insert fallisce?

forse mi ero spuiegato male prima. Di solito io uso le transazione all’interno di un costrutto try/catch…

non ho provato nello specifico la insert… ma ho provato con DAO e viene generata l’eccezione che naturalmente può essere intercettata… quindio con $ex->getMessage() ottieni il messaggio di errore.