Yii2 Numrows

Salve ho creato una funzione per controllare i duplicati nel db eccola :





public function controllaDuplicati($nomeCampo,$tabellaDb,$valoreDaCercare){

            //mi connetto al db

            $connection = \Yii::$app->db;


            //creo la query

            $sql="SELECT $nomeCampo FROM $tabellaDb WHERE $nomeCampo='$valoreDaCercare' ";

            //eseguo il comando

            $command = $connection->createCommand($sql);

            //conto i risultati 

            $numRighe=$command->execute();   


            if($numRighe>0){

                $duplicato=true;

            }

            else{

                $duplicato=false;

            }


            return $duplicato;


         }







Ho un solo dubbio su come contare le righe :

$numRighe=$command->execute();

così va bene?

No execute() è per le query che non ritornano valori tipo INSERT, UPDATE etc…

Come indicato nella guida farei una select count(*) … e leggi il valore con queryScalar().

es.




$command = $connection->createCommand('SELECT COUNT(*) FROM post');

$postCount = $command->queryScalar();



Ciao

In realtà funziona , ci deve essere qualcos’altro che non và …

Cosa funziona e cosa non va?