[Solar-talk] Sql_Model insert not working!

Jeff Surgeson solar at 3hex.com
Mon Apr 23 11:44:24 PDT 2007


On Monday 23 April 2007 20:19, Rodrigo Moraes wrote:
> On 4/23/07, Jeff Surgeson wrote:
> >             $item = $form->values();
>
> I'm a bit lost with this part. $form->values() doesn't return a model
> object, does it? because later you'll call save() on it, so... I think
> this would be more close to what you want:

Trying to merge form data and default data as in previous versions with 
$item->load($form->values('bookmark')) but load is not implemented.

>        if ($this->_isProcess('save') && $form->validate()) {
>            $data = $form->values();
>
>            $item->editor_handle = Solar::registry('user')->auth->handle;
>            $item->editor_ipaddr = $this->_request->server('REMOTE_ADDR');
>
>            try {
>                $item->save($data);
>            } catch (Solar_Exception $e) { ..... }
>        }

Ok got it to work like this, but it is not very elegant but I can see no other 
way to merge form and default data!

public function actionAdd()
{
        $item = $this->_news->fetchNew();
        $form = $this->_news->addForm($item);
        $form->populate();

        // Process: save
        if ($this->_isProcess('save') && $form->validate()) {
            $form_data = $form->values();

            $item->editor_handle = Solar::registry('user')->auth->handle;
            $item->editor_ipaddr = $this->_request->server('REMOTE_ADDR');
            $item->subject = $form_data['addform']['subject'];
            $item->body = $form_data['addform']['body'];

            try {
                $item->save();        
            } catch (Solar_Exception $e) { .... }
        }
        $this->formdata = $form;
}

-- 
...........::::::...........
Jeff Surgeson / South Africa


More information about the solar-talk mailing list