Consultas Parametrizadas

Buenas noches a todos les tengo una duda (en realidad buenas madrugas).

Antes de plantearla les dejo la descripción de mi sistema:

S.O: winxp

DBMS: oracle 11gR2 y MySQL 5.5.8

PHP: 5.3.5

XAMPP: 1.7.4

Yii framework: 1.1.12

He buscado por días la solución al problema sin encontrarla, les describo.

Tengo dos modelos detalle y detalle con los siguientes datos:

Modelo venta: codigo, codusuario, codcliente y fecha.

Modelo detalle: codigo, codventa, codproducto, cantidad

estoy utilizando la extención MultiModelForm que se utiliza para llenar formularios de tipo maestro-detalle e hice una prueba con MySql y todo funciona correctamente.

El problema es cuando lo intento realizar con Oracle 11gR2 XE. Estoy intentando realizar una consulta dinámica

pero me muestra el siguiente error:




CDbCommand falló al ejecutar la sentencia SQL: SQLSTATE[HY000]: General error: 1722 OCIStmtExecute: ORA-01722: invalid number

(ext\pdo_oci\oci_statement.c:146). The SQL statement executed was: SELECT * FROM "DETALLEVENTA" "t" WHERE CODVENTA=:codven 



en esta parte del formulario:




$this->widget('ext.multimodelform.MultiModelForm',

        array(

	        'id'=>'id_detalleventa',

		'formConfig'=>$detalleFormConfig,

		'model'=>$detalle,

		'validatedItems'=>$validaDetalle,

		'data'=>$detalle->findAll('CODVENTA=:codven',array(':codven',$model->CODIGO)),

	));



Especificamente en esta:




'data'=>$detalle->findAll('CODVENTA=:codven',array(':codven',$model->CODIGO))



Ya revice los tipos de datos en DBMS y en ambos modelos todos estan asi:




public function rules() // reglas de VENTA

{

	return array(

		array('CODUSUARIO, CODESTADO, CODCLIENTE', 'numerical', 'integerOnly'=>true),

		array('FACTURA', 'length', 'max'=>50),

		array('FECHA','safe'),

		array('CODIGO, CODUSUARIO, CODESTADO, CODCLIENTE, FECHA, FACTURA', 'safe', 'on'=>'search'),

	);

}


public function rules() // Reglas de DETALLE

{

	return array(

		array('CODVENTA, CODPRODUCTO', 'required'),

		array('CODVENTA, CODPRODUCTO, CANTIDAD', 'numerical', 'integerOnly'=>true),

		array('PRECIO', 'numerical'),

		array('CODIGO, CODVENTA, CODPRODUCTO, CANTIDAD, PRECIO', 'safe', 'on'=>'search'),

	);

}



Gracias por las respuestas.

Que tal a todos, ya este resuelto mi problema, era un pequeño error en la linea siguiente




'data'=>$detalle->findAll('CODVENTA=:codven',array(':codven',$model->CODIGO))



El problema es en la asignación de los parametros del array:


array(':codven',$model->CODIGO)

y debe de estar como así:


array(':codven'=>$model->CODIGO)

Gracias y espero que a alguien le sirva