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.