In the template?  This is a function call though.

On Jul 23, 11:22 am, Dirk Hartmann <dirk.hartm...@gmail.com> wrote:
> getStatusObject[$key]->... Not Round brackets...
>
> Dirk Hartmann
> Schenckstr. 10
> 57074 Siegen
> m
>
> Am 23.07.2009 um 17:12 schrieb -gary- <gary.dun...@gmail.com>:
>
>
>
> > Apologies for replying to my own post, but does anybody have any idea
> > on this one?  I have no idea why I am getting this error.
>
> > Thanks in advance.
>
> > On Jul 22, 7:43 pm, -gary- <gary.dun...@gmail.com> wrote:
> >> Hi,
>
> >> I am trying to do a multiple edit on a database table.
>
> >> Whn I output like this:
> >> [code]
> >> <?php echo $form->getStatusObject($key)->getStatusname() ?>
> >> [/code]
> >> I get this error:
> >> [code]
> >> Fatal error: Call to a member function getStatusname() on a non-
> >> object
> >> [/code]
>
> >> When I comment the above out the rest of the fields print out with  
> >> the
> >> data as expected but with this error at the bottom of the page:
>
> >> [code]
> >> Fatal error: Cannot use object of type sfFormField as array
> >> [/code]
>
> >> Can you see what I am doing wrong here?  I put the full code below.
>
> >> Thank you in advance.
>
> >>  Template:
> >>  [code]
> >>        <?php foreach($form as $key => $status): ?>
> >>          <tr>
> >>            <td><?php echo $form->getStatusObject($key)->getStatusname
> >> () ?></td>
> >>            <td>
> >>              <?php echo $status['statusOrder']; // should print text
> >> field with db value populated ?>
> >>              <?php echo $status['statusOrder']->renderError(); ?>
> >>            </td>
> >>            <td>
> >>              <?php echo $status['startend'] ?>
> >>              <?php echo $status['statusOrder']->renderError(); ?>
> >>            </td>
> >>          </tr>
> >>        <?php endforeach; ?>
> >> [/code]
>
> >> Forms:
> >> [code]
> >> <?php
>
> >> class StatusEditForm extends sfForm
> >> {
> >>   protected $status_objects = array();
>
> >>   public function configure()
> >>   {
> >>     foreach( StatusPeer::doSelect(new Criteria()) as $status_object )
> >>     {
> >>       $this->embedForm('status_'.$status_object->getId(), new
> >> StatusForm($status_object));
> >>     }
> >>   }
>
> >>   public function getStatusObject($key)
> >>   {
> >>     return (isset($this->status_objects[$key])) ? $this-
> >> >status_objects
> >> [$key] : null;
> >>   }
>
> >>   public function save()
> >>   {
> >>     $values = $this->getValues();
>
> >>     foreach($this->getEmbeddedForms() as $key => $status_form)
> >>     {
> >>       $status_form->updateObject($values[$key]);
> >>       $status_form->getObject()->save();
> >>     }
> >>   }
>
> >> }
>
> >> [/code]
>
> >> [code]
> >> class StatusForm extends BaseStatusForm
> >> {
> >>   protected $status_objects;
>
> >>   protected static $startend_choices = array(
> >>     'entry_point' => 'Entry Point',
> >>     'end_point'   => 'End Point'
> >>   );
>
> >>   public function configure()
> >>   {
> >>     // completely unset any fields you don't need
> >>     unset(
> >>       $this['id'],
> >>       $this['report']
> >>     );
>
> >>     $this->widgetSchema['id'] = new sfWidgetFormInputHidden();
> >>     $this->widgetSchema['startend'] = new sfWidgetFormSelectRadio
> >> ( array(
> >>       'choices' => self::$startend_choices
> >>     ));
> >>     $this->widgetSchema['statusOrder'] = new sfWidgetFormInput();
>
> >>     $this->validatorSchema['startend'] = new sfValidatorChoice(array(
> >>       'choices' => array_keys(self::$startend_choices)
> >>     ));
> >>   }
>
> >>  }
> >>  [/code]
>
> >> This seems to be where the problem is.  It's not returning an object:
>
> >> [code]
> >>   public function getStatusObject($key)
> >>   {
> >>     return (isset($this->status_objects[$key])) ? $this-
> >> >status_objects
> >> [$key] : null;
> >>   }
> >> [/code]
>
> >> Does anybody have any idea why?
>
> >> Thank you.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"symfony users" group.
To post to this group, send email to symfony-users@googlegroups.com
To unsubscribe from this group, send email to 
symfony-users+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/symfony-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to