Welcome Guest, Not a member yet? Register   Sign In
Doubts ActiveRecord php updates multiples rows
#1

Hi, i have a problem whit a error: maximum size of arrays in php, $ids has a maximum and i don't know how to resolve it.
Array size is limited only by amount of memory your server has. I 'll get out of memory" error and i can't change php.ini

PHP Code:
function delete_ScormByIdPlataforma($idPlatforma)
    {        
        if (
$this->getIdScormVarsToDelete($idPlatforma) != 0)
        {
            
$ids $this->getIdScormVarsToDelete($idPlatforma);
                        
// guardar en un campo de una tabla los scormsVars a Borrar más adelante por si fueran uchisimos y no cupieran en un array
                        
var_dump($ids);
                        die;
            
$this->db->where_in('ID_dispatch'$ids);
            
$this->db->delete('scormvars');
        }
//else
        //log_message('error', 'No se han encontrado scorms a borrar'.$this->db->_error_message().' - '.$this->db->last_query());
    
}



function 
getIdScormVarsToDelete($idPlataforma)
    {
        
$this->db->select('s.ID_dispatch');
        
$this->db->from('scormvars as s');
        
$this->db->join('dispatch as d''s.ID_dispatch = d.ID_dispatch''INNER');
        
$this->db->join('licencias as l''d.ID_licencia = l.ID_licencia','INNER');
        
$this->db->where('l.id_plataforma'$idPlataforma);
    
        
$query $this->db->get();
    
        if(
$query)
        {
            if(
$query->num_rows()>0){
                foreach (
$query->result() as $fila){
                    
$data[] = $fila->ID_dispatch;
                }
                return 
array_unique($data);
            }
        }
        else
        {
            
//log_message('error', 'No se han encontrado Dispatch a borrar'.$this->db->_error_message().' - '.$this->db->last_query());
            
return 0;
        }
    } 
Reply
#2

HAve you tried to increase your memory limit value? Check this blog article: http://www.ducea.com/2008/02/14/increase...ory-limit/
Best regards,
José Postiga
Senior Backend Developer
Reply
#3

You can try to run full delete sql with where clause..
Best VPS Hosting : Digital Ocean
Reply
#4

How big is that array? You can try and split the work into batches.
Reply




Theme © iAndrew 2016 - Forum software by © MyBB