Ciao a tutti è possibile visualizzare l’ SQl di un activerecord ottenuto tramite funzioni all(), one(),…
per poter effettuare test?
grazie
Ciao a tutti è possibile visualizzare l’ SQl di un activerecord ottenuto tramite funzioni all(), one(),…
per poter effettuare test?
grazie
Certo. A partire da un’ActiveQuery (non ActiveRecord), es.
$query = Model::find()->where(....)->....;
Per avere il SQL:
$sql = $query->createCommand()->getRawSql();
So che il post è un pò vecchio ma magari è di aiuto anche ad altri
$sql = $query->createCommand()->getRawSql();
Devi farlo prima che la query venga eseguita, quindi ad esempio prima di mettere ->all();
Puoi controllare le query anche attraverso il debug panle.
In entrambi i casi le query contengono il binding dei parametri e quindi non vedrai eventuali valori usati in bind dalla where ad esempio.
Se invece ti riferisci alla query eseguita duarnte il ->save() dell’ActiveRecord, la puoi vedere solo tramite il panello di debug, qui i valori sono visibili.