[Yii1][RISOLTO] Query FindAllByAttributes

Salve ho una query che viene fatta in base ad un’ array di risultati.

L’ array è $prodotti che è l’ insieme di tutti i codici di tracciatura dei pacchi.

Vorrei fare una query di questo tipo:




$ricerca_vett =Missiva::model()->findAllByAttributes(array('tracking'=>$prodotti,'prodotto'=>'Pacco'),

"peso > 3 AND peso < 10 AND vettore != GLS");



Funziona tutto bene se non gli aggiungo AND vettore != GLS

Se invece Aggiungo AND vettore != GLS per far si che non mi selezioni i pacchi dove il vettore è GLS mi da errore.




Column not found: 1054 Unknown column 'GLS' in 'where clause'. The SQL statement executed was:

SELECT * FROM `missiva` `t` WHERE `t`.`tracking` IN ('40001350056876', '40001350045035', '40001350043222', '40001350037363', '4001350034076', '4001350063222', '4001350062276', '4001350071782', '4001350044840', '4001350045763', '4001350016355', '4001350055467') AND `t`.`prodotto`=:yp1 AND (peso > 3 AND peso < 10 AND vettore != GLS



Ora da stupido mi chiedo, perchè se capisce che la colonna da controllare è peso (nella prima condizione) non capisce che nella seconda richiesta gli chiedo di controllare la colonna ‘vettore’? ???

Ho provato anche con CdbCriteria…ma non gli piace l’ array (di $prodotti) e mi manda a quel paese ;D

So che può essere usato il != dentro la query perchè se non ricordo male quando mi avvicinai al mondo YII lo vidi usare in un esempio che non riesco a ritrovare neppure nei meandri di Google.

Qualcuno può aiutarmi in merito?

Grazie in anticipo.

Mi sembra manchino le virgolette a chiudere la stringa GLS




$ricerca_vett =Missiva::model()->findAllByAttributes(array('tracking'=>$prodotti,'prodotto'=>'Pacco'),

"peso > 3 AND peso < 10 AND vettore != 'GLS'");



Azz che pirla ??? ;D avevi ragione…errore stupido…la fretta è cattiva consigliera!!!

Grazie Fabrizio :)