Return result_array codeigniter

1

Having the following table:

tbl_attending_events

'id' INT(11) NOT NULL AUTO_INCREMENT,
'descricao' VARCHAR(255) NULL DEFAULT NULL,
'evento_id' INT(11) NOT NULL,
'devedor_id' INT(11) NOT NULL,    
'negociacao_id' INT(11) NOT NULL,
'assessoria_id' INT(11) NOT NULL,
'complemento' VARCHAR(255) NULL DEFAULT NULL,

And I'm generating the following array with the function below:

public function obter_devedor_evento($devedor_id, $id_negociacao_selecionada)
{    
        $this->db->from('tbl_atendimento_evento');
        $this->db->where('devedor_id',$devedor_id);
        $this->db->where('negociacao_id',$id_negociacao_selecionada);
        $query = $this->db->get();
        return $query->result_array();
}

Array Generated

Array
(
    [0] => Array
        (
            [id] => 3
            [descricao] => Envio de e-mail
            [devedor_id] => 1
            [evento_id] => 3
            [negociacao_id] => 3
            [assessoria_id] => 1
            [complemento] => Texto do complemento
        )

    [1] => Array
        (
            [id] => 4
            [descricao] => Recado
            [devedor_id] => 1
            [evento_id] => 4
            [negociacao_id] => 3
            [assessoria_id] => 1
            [complemento] => Texto do complemento
        )

)

I want to know how to include the add-in field after view

Array Intended

Array
(
    [0] => Array
        (
            [id] => 3
            [descricao] => Envio de e-mail
            [devedor_id] => 1
            [evento_id] => 3
            [negociacao_id] => 3
            [assessoria_id] => 1
            [view][complemento] => Texto do complemento
        )

    [1] => Array
        (
            [id] => 4
            [descricao] => Recado
            [devedor_id] => 1
            [evento_id] => 4
            [negociacao_id] => 3
            [assessoria_id] => 1
            [view][complemento] => Texto do complemento
        )

)
    
asked by anonymous 30.11.2017 / 12:53

1 answer

1

Use the array_map function and make the necessary adjustments, there is no move, each item should be created and removed when it is unnecessary, eg

public function obter_devedor_evento($devedor_id, $id_negociacao_selecionada)
{    
        $this->db->from('tbl_atendimento_evento');
        $this->db->where('devedor_id',$devedor_id);
        $this->db->where('negociacao_id',$id_negociacao_selecionada);
        $query = $this->db->get();
        return array_map(function($item){
            $item['view']['complemento'] = $item['complemento']; // adiciona nova chave
            unset($item['complemento']); // remove a chave que não precisa
            return $item;
        }, $query->result_array());
}
    
30.11.2017 / 14:40