Error Que No Entiendo Por Que?

Hola del siguiente enlace My linkintente hacer correr el ejemplo para varias instancias de modelo en un solo formulario pero me da este error "Trying to get property of non-object" y me muestra q es en esta linea

if ( $item->id ){

podria alguien decirme como solucionarlo??? de antemano gracias…

Favor de postear tu código; sin ver el mismo es difícil poder ayudarte. En términos generales trataste de acceder algo (una propiedad) de algo que no es un objeto (un arreglo, otra cosa?) PHP es estricto con esas cosas.

en seguida el codigo

public function actionBatchUpdate()

{

// retrieve items to be updated in a batch mode


// assuming each item is of model class 'Item'


$items=$this->getItemsToUpdate();


if(isset($_POST['Item']))


{


    $valid=true;


    foreach($items as $i=>$item)


    {


        if(isset($_POST['Item'][$i]))


            $item->attributes=$_POST['Item'][$i];


        $valid=$item->validate() && $valid;


    }


    if($valid)  // all items are valid


        // ...do something here


}


// displays the view to collect tabular input


$this->render('batchUpdate',array('items'=>$items));

}

esto es la funcion dentro el controlador

public function getItemsToUpdate() {

    // Create an empty list of records


    $items = array();





    // Iterate over each item from the submitted form


    if (isset($_POST['Item']) && is_array($_POST['Item'])) {


        foreach ($_POST['Item'] as $item) {


            // If item id is available, read the record from database 


            if ( $item->id ){


                $items[] = MyModel::model()->findByPk($item->id);


            }


            // Otherwise create a new record


            else {


                $items[] = new MyModel();


            }


        }


    }


    return $items;


}

esto tambien en el controlador

<div class="form">

<?php echo CHtml::beginForm(); ?>

<table>

<tr><th>Name</th><th>Price</th><th>Count</th><th>Description</th></tr>

<?php foreach($items as $i=>$item): ?>

<tr>

<td><?php echo CHtml::activeTextField($item,"[$i]name"); ?></td>

<td><?php echo CHtml::activeTextField($item,"[$i]price"); ?></td>

<td><?php echo CHtml::activeTextField($item,"[$i]count"); ?></td>

<td><?php echo CHtml::activeTextArea($item,"[$i]description"); ?></td>

</tr>

<?php endforeach; ?>

</table>

<?php echo CHtml::submitButton(‘Save’); ?>

<?php echo CHtml::endForm(); ?>

</div><!-- form -->

y por ultimo esto es de la vista llamada batchUpdate.php

esto lo encontre en un enlace el cual esta arriba loq kiero es una breve explicacion para entenderlo xfa xfa tal vez sea mucho pedir pero soy nuevo esto del framework yii

El error es debido a que $item no es un objeto sino un array… así que debe invocarse como $item[‘id’]

Saludos.