在Code Igniter中调用数组

时间:2012-12-20 00:17:50

标签: php codeigniter

所以....我在我的模型中有一个函数调用表的最后一个元素,然后我将结果赋给变量并将其返回给控制器,问题是我无法访问数组。我需要“id”。

// model
function ultimo()
{
    $result = $this->db->select('*')->order_by("id","desc")->get('articulos', 1)->result();
    return $result;
}
//controller
$ultimo['id']=$this->mod_articulos->ultimo();

// I try to access the array like this: (for test purposes)
// this gives me an array:
echo "<br /><br />Valor de Datos: ".$ultimo['id'];

// content of the array:
array(1) 
{ 
    ["id"]=> array(1) 
    { 
        [0]=> object(stdClass)#25 (13) 
        { 
            ["id"]=>          string(2) "15" 
            ["familia"]=>     string(2) "01" 
            ["subfamilia"]=>  string(2) "01" 
            ["codigo"]=>      string(2) "03" 
            ["cod_barras"]=>  string(1) "3" 
            ["nombre"]=>      string(22) "Aceite de Oliva Virgen" 
            ["descripcion"]=> string(20) "en botellas de 500ml" 
            ["pcp"]=>         string(4) "6.00" 
            ["pvp"]=>         string(5) "25.00" 
            ["proveedor"]=>   string(2) "03" 
            ["stock"]=>       string(6) "120000" 
            ["minstock"]=>    string(4) "1000" 
            ["imagen"]=>      string(0) "" 
        }
    }
}

如果我使用$ultimo['id']->id;,我会收到非对象错误。任何建议都将受到欢迎。

3 个答案:

答案 0 :(得分:0)

$ultimo['id']是一个数组,所以这就是你要做的事情

foreach($ultimo['id'] as $obj){
   echo "Valor de Datos: ".$obj->id;
}

答案 1 :(得分:0)

看起来你需要使用:

$ultimo['id'][0]->id;

答案 2 :(得分:0)

以下是你应该做的事情:

$ultimo = $this->mod_articulos->ultimo();

if ($ultimo) // if array not empty
{
    echo $ultimo[0]->id;
}

简单地记住CI的result()方法返回一个行数组,就像SQL一样。