tengo este código en el actionCreate() donde estoy mandando para 3 tablas diferentes:
public function actionCreate()
{
$model=new InformeRecepcion();
// Uncomment the following line if AJAX validation is needed
// $this->performAjaxValidation($model);
if(isset($_POST['InformeRecepcion']))
{
$model->attributes=$_POST['InformeRecepcion'];
$model->fecha_entrada=$_POST['fecha_entrada'];
$cont=$_POST['cont'];
$arrayProduct=array($cont);
for ($i=0;$i<$cont;$i++)
{
$arrayProduct[$i]=new Producto();
$attributeNames=$arrayProduct[$i]->attributeNames();
foreach($attributeNames as $value)
{
$asi=$i+1;
$key=$value;
//+ (string)($asi)
$key=$key.(string)($asi);
//print($key);
if (array_key_exists($key,$_POST)){
$arrayProduct[$i]->__set($value,$_POST[$key]);
//print($arrayProduct[$i]->__get($value));print( '//');
};
}
//if ($modelP->save()){
//print('create//');
//}
}
$model->listaProductos=$arrayProduct;
if($model->save()){
$this->redirect(array('view','id'=>$model->id_informe));}
}
$this->render('create',array(
'model'=>$model,
));
}
este otro código es el método save() que adapté en la model que está procesando los datos a enviar
public function save(){
//print('create//');
if (parent::save()){
foreach ($this->listaProductos as $producto){
if ($producto->search()!=null)
{
$criteria=new CDbCriteria;
$criteria->compare('campo_BD',$producto->attr1);
$criteria->compare('campo_BD',$producto->attr2);
$dataProvider= new CActiveDataProvider('Producto//nombre_modelo', array(
'criteria'=>$criteria,
));
$modelArray = $dataProvider->getData(true);
$total = $dataProvider->totalItemCount;
/*
$dat = array();
foreach ($modelArray as $value)
{
$modelAttrs = $value->attributes;
$dat[$i] = $modelAttrs; //aqui se adciona en cada posiscion del array el objeto (tupla resultante de la consulta)
$i++;
}
echo json_encode(array('datos'=>$dat,'total'=>$total));
*/
}
if ( $producto->save()){
$informeRP=new InformeRecepcionProducto();
$informeRP->__set('id_informe',$this->__get('id_informe'));
$informeRP->__set('id_producto',$producto->__get('id_producto'));
if ($informeRP->save());
//die('id_producto');
}
}
return true;
}else
return false;
}
pero tengo que comparar algunos de los datos que recibo por Post[] con los que ya existen en una de las tablas y no se como hacerlo, por favor, alguien pudiera ayudarme?