bueno el problema es este:
Tengo un select y los options son poblados desde una Bd(area) si se elige el option con value=otros
se activara un input para agregar un nuevo valor, y se guardara en la bd(area). Hasta aquí sencillo, mi problema viene cuando
este select y este input estan en un formulario, donde todos sus datos se insertan en Bd(carpetas).
campos de la base de datos
bd(area)= idarea(autoincrement), nombrearea, status.
bd(carpetas)= idcarpetas(autoincrement), nombrecarpeta, nombreusuario, idarea.
$model=new Caja;
$areas = Area::model()->findAll(array ('order' => 'nombre'));
$pasillos = Pasillo::model()->findAll();
$clientes= Cliente::model()->findAll(array ('order' => 'nombre'));
if(isset($_POST['otroA'] ) && isset($_POST['idrea']))
{
$otro = $_POST['otroA'];
if($otro == '0')
{
$area= new Area;
$area->nombre = $otro;
$area->status = "activo";
$area->save();
$id = $area->getPrimaryKey();
$criteria=new CDbCriteria;
$criteria->select='max(idArea) AS maxidarea';
$row = $area->model()->find($criteria);
$idarea = $row['maxidearea'];
}
else{$idarea=$_POST['idrea'];}
if(isset($_POST['Caja']) && isset($_POST['tipo']) )
{
$tipo = $_POST['tipo'];
$model->attributes=$_POST['Caja'];
$model->idArea=$idarea;
if($model->save())
{
if($tipo == 'caja')
$this->redirect(array('view','id'=>$model->idCaja));
else
$this->redirect(array('/recopilador/create','id'=>$model->idCaja));
}
}
}
simplemente no hace la consulta, mi error puede estar en que no lleguen los paramentros, otroA, idrea,tipo (los paso por ajax).
$(document).ready(function(){
idrea = $("#Caja_idArea").val();
otroA = $("#otroA").val();
tipo = $("#tipo").val();
$.ajax({
type: "POST",
url: "'.Yii::app()->createUrl('caja/create').'",
data: {tipo:tipo, otroA:otroA, idrea:idrea}
})