0

モデルにテーブルの最後の要素を呼び出す関数があり、結果を変数に代入してコントローラーに返します。問題は、配列にアクセスできないことです。「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;と、オブジェクト以外のエラーが発生します。どんなアドバイスも大歓迎です。

4

3 に答える 3

0

$ultimo['id']は配列なので、これを実行します

foreach($ultimo['id'] as $obj){
   echo "Valor de Datos: ".$obj->id;
}
于 2012-12-20T00:23:38.867 に答える
0

使用する必要があるようです:

$ultimo['id'][0]->id;
于 2012-12-20T00:26:34.040 に答える
0

方法は次のとおりです。

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

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

CI のresult()メソッドは、SQL と同じように行の配列を返すことを覚えておいてください。

于 2012-12-20T06:14:30.000 に答える