Hi Guys,

I've got a HABTM relationship between subcategories and resources.
There is a resources_subcategories join table. I've written a method
on subcategories that changes the order field in a record by
decrementing it. It's a bit like the tree behaviour (which I may
resort to if I cannot get this to work).

        function up($id = null, $order = null) {
                if (!$id or !$order) {
                        $this->Session->setFlash(__('Invalid id or order 
number', true));
                        $this->redirect(array('action'=>'index'));
                }
                // Create an array of the image table contents of IDs and 
Orders.
                $conditions = array(
                                                'fields' => array('id','order'),
                                                'order' => 'Subcategory.order 
ASC'
                );
                $subcategories = $this->Subcategory->find('all', $conditions);
                // Set the direction for the image to travel (up)
                $delta = -1;
                // index = the array item you want to move
                // delta = the direction and number of spaces to move the item.
                $index = $order -1;
                $index2 = $index + $delta;
                // Move the elements in the array
                $temp_item = $subcategories[$index2]['Subcategory']['order'];
                $subcategories[$index2]['Subcategory']['order'] =
$subcategories[$index]['Subcategory']['order'];
                $subcategories[$index]['Subcategory']['order'] = $temp_item;
                // Write it all back to the database
                foreach ($subcategories as $subcategory):
                        $this->Subcategory->save($subcategory, false, 
array('id',
'order'));
                endforeach;
                $this->redirect(array('action' => 'index'));
        }

This all works perfectly except for one thing. Each time this method
is run the entire contents of the join table is erased. I need an
idiot check. Can anyone see what it is I am doing wrong? Thanks in
advance for any help anyone can offer.

Adam.

-- 
Our newest site for the community: CakePHP Video Tutorials 
http://tv.cakephp.org 
Check out the new CakePHP Questions site http://ask.cakephp.org and help others 
with their CakePHP related questions.


To unsubscribe from this group, send email to
cake-php+unsubscr...@googlegroups.com For more options, visit this group at 
http://groups.google.com/group/cake-php

Reply via email to