Query Sql

Buongiorno a tutti,

come capirete dalla domanda sono completamente neofita sul framework Yii, in ogni caso non mi è chiaro in quale modo rendere una query sql in "yii".

vorrei inserire questa query all’interno di una funzione yii:


	$result = mysql_query("SELECT DISTINCT tpb.id_tpb, tpb.np FROM tpb, tratte WHERE tratte.id_tpa = $id_tpa AND tratte.id_tpb = tpb.id_tpb") 

	or die(mysql_error());



, potreste cortesemente spiegarmi la sintassi?

grazie mille!

nel mentre sono arrivato a questo, ma non funziona:




           $id_tpa = $_POST['Tratte']['id_tpa'];

            

            

            $sql='SELECT DISTINCT tpb.id_tpb, tpb.np FROM tpb, tratte WHERE tratte.id_tpa = $id_tpa AND tratte.id_tpb = tpb.id_tpb';

            $connection=Yii::app()->db;

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

            $lista=$command->queryAll(); 

            $lista = CHtml::listData($lista,'id_tpb','np');

            

            echo CHtml::tag('option', array('value' => ''), 'Seleccione', true);

            

            foreach ($lista as $id_tpb => $np){

              echo CHtml::tag('option',array('value'=>$id_tpb),CHtml::encode($np), true );

            }



Mi pare che tu non abbia chiaro il modo in cui Yii gestisce i database.

Il modo più “normale” è quello di utilizzare il paradigma MVC ed in particolare la M di Model che dovrebbe astrarre il concetto di tabella e record in oggetti. Nella guida di riferimento trovi tutto e ti consiglio di leggerla se non l’hai ancora fatto.

Una volta capito come funzionano i modelli e le relazioni non avrai problemi a mettere in relazione le tabelle tratte e tpb ed a implementare controlli tipo dropbox che peschino direttamente da tabelle o da loro relazioni.

L’approccio che stai utilizzando mi pare ignori tutti i concetti MVC e la modellazione DAO.