turn array into object active record can use

Posted by stormdrain on Stack Overflow See other posts from Stack Overflow or by stormdrain
Published on 2010-06-09T15:10:01Z Indexed on 2010/06/09 17:02 UTC
Read the original article Hit count: 192

Filed under:
|
|
|

I'm running a query and then decrypting it in the controller. After it is decrypted I was putting the results into an array and sending that to the view. The problem is with this solution I need to rewrite all of my views to parse the arrays sent instead of the active record objects sent before.

Is there a way to turn the decrypted array back into an object that will work with existing active record code in the view?

Before

Controller:

$name = $this->Clients_model->getNameData('*','client_id='.$clid,'');
$data['name'] = $name;
$this->load->view('names/name_view',$data);

View:

if($name->num_rows()) > 0){
    foreach($name->result() as $row){
        echo $row->data;
[...]

Now

Controller:

$name = $this->Clients_model->getNameData('*','client_id='.$clid,'');
$nameArray= array();
foreach ($name->result() as $row){
    $x = $row;
    $keys = array('id','client_id');
    $unenc = array();
    foreach ($x as $key=>$value){
        if(! in_array($key, $keys)){
            $unenc[$key]=$this->encrypt->decode($value,$this->e_key);
        }else{
            $unenc[$key]=$value;
        }
    }
    array_push($nameArray,$unenc);
}

//Creates an object with the data, but doesn't work with CI active record
//foreach ($nameArray as $akey  => $aval) {
//    $namea -> {$akey} = $aval;
//}

//return $data;
$data['name'] = $nameArray;
$this->load->view('names/name_view',$data);

View:

if(count($name) > 0){
    foreach($name as $key=>$row){
        echo $row['data'];
[...]

In the second (now) controller there is some commented out code that will make an object, but it doesn't behave as expected with active record. Is there a way to take the $nameArray() array and change it into an object that will work with existing view code (such as the code in the 'before:view' above)?

Thanks!

© Stack Overflow or respective owner

Related posts about php

Related posts about activerecord