como manejo campos en un modelo que el yii no puede manejar?

Hola! Necesito unas pistas. Tengo una table en donde manejo "zonas", almaceno ahí unos campos "normales" y unos campos que no estoy acostumbrado a manejar, de tipo poligono, por ahora estoy manejando esta tabla con una clase base y me gustaría manejarla con un AR. Podrían recomendarme como podría proceder, me gustaría levantar el polígono en el mismo query que usa el yii para traer la información, lo mismo para el update y para el insert. Si esto fuera muy dificil entonces supongo que trataría de hacerlo de otra manera mas acorde a un newbie.

Gracias

Juan

Bueno, estuve haciendo unos intentos, no pude lograr tomar el campo poligono en el mismo select que hace el yii, lo tomé aparte en el afterFind, es la manera?

por otro lado para grabarlo estoy usando el beforeSave para setear el campo, pareciera que todo va a andar bien pero en el update me devuelve un error, acá lo postéo:




Error in executing SQL: UPDATE `zona` SET `id`=:yp0, `poligono`=:yp1,

`nombre`=:yp2, `descripcion`=:yp3, `precioEnvio`=:yp4, `proveedor_id`=:yp5

WHERE `zona`.`id`='36'. Bound with :yp0='36',

:yp1='geomFromText("POLYGON((-38.011067436808

-57.553310960449,-38.020534366999 -57.561035722412,-38.030000074349

-57.541466325439,-38.010661683903 -57.54198130957,-38.011067436808

-57.553310960449))")', :yp2='xxx', :yp3='Maecenas semper pellentesque

tortor, at gravida massa molestie nec. Vestibulum sollicitudin sollicitudin

fermentum? Quisque commodo, leo nec mattis tempor, sem lacus interdum

tellus, eget tincidunt nisl est fringilla sem. Pellentesque blandit

tincidunt iaculis. Etiam aliquet lacus sit amet augue sollicitudin cras

amet.

', :yp4='10', :yp5='1'



el error que me tira de la base es "Cannot get geometry object from data you send to the GEOMETRY field", sin embargo cuando hago el update directo a la base si me funciona, podrá ser que el contenido del campo




geomFromText("POLYGON((-38.011067436808

-57.553310960449,-38.020534366999 -57.561035722412,-38.030000074349

-57.541466325439,-38.010661683903 -57.54198130957,-38.011067436808

-57.553310960449))")



este siendo modificado de alguna manera?

Ojalá alguien me pueda dar una mano con esto porque no estoy pudiendo darme cuenta que pasa!

Gracias

Probá utilizar CDbExpression.

Saludos!

Gracias otra vez Sebastián, ya no sabía que probar, tu solución fué perfecta!!!! ;)

Saludos!!

Juan