It worked. But why? I did check the api, and it said this should do it: $this->set('categories', $this->Category->find('all', array(), null, -1));
The definition: Model::find ( $ conditions = null, $ fields = array(), $ order = null, $ recursive = null ) Shouldn't both codes do the same thing? is this a bug? On Jun 20, 12:47 am, "dr. Hannibal Lecter" <[EMAIL PROTECTED]> wrote: > $this->set('categories', $this->Category->find('all', > array('recursive' => -1))); > > That should do it. ;-) > > http://api.cakephp.org/class_model.html#e60758f27fa8486a063b8cc424bad741 > > Always check the API and/or The Cookbook before asking here, it will > make your development a lot faster an less painful. > > Happy baking! > > On Jun 20, 9:05 am, "Turnquist, Jonah" <[EMAIL PROTECTED]> wrote: > > > Ok, I have a scripts table, a categories table and a users table. > > > The scripts table $belongsTo = array('Category', 'User'); > > > The categories table $hasMany = array('Script'); > > > I have not made a modal or page for the users yet. > > > I have a index page for the categories. This page shows all of the > > categories as a linked list. Here is the controller code: > > function index() { > > $this->set('categories', $this->Category->find('all')); > > } > > > And in the view I have it display (loop through) all the categories > > and it works perfectally. > > > The problem: it is pulling more data from the database than is > > needed. This is what it is pulling (it is pulling the scripts also as > > you can see): > > > Array > > ( > > [0] => Array > > ( > > [Category] => Array > > ( > > [id] => 1 > > [name] => cat1 > > [created] => > > ) > > > [Script] => Array > > ( > > [0] => Array > > ( > > [id] => 1 > > [title] => DB connect > > [description] => This class that will > > connect to the database test > > [content] => content here > > [category_id] => 1 > > [user_id] => 1 > > [created] => 2001-06-18 16:05:40 > > [modified] => 2008-06-18 19:58:29 > > ) > > ) > > ) > > [1] => Array > > ( > > [Category] => Array > > ( > > [id] => 2 > > [name] => Second Category > > [created] => > > ) > > > [Script] => Array > > ( > > [0] => Array > > ( > > [id] => 2 > > [title] => shoutbox > > [description] => this is an easy to > > install shoutbox > > [content] => content goes here > > [category_id] => 2 > > [user_id] => 2 > > [created] => 2008-06-05 22:29:09 > > [modified] => 2008-06-19 15:54:19 > > ) > > ) > > ) > > ) > > > When all I really need is this: > > > Array > > ( > > [0] => Array > > ( > > [Category] => Array > > ( > > [id] => 1 > > [name] => cat1 > > [created] => > > ) > > ) > > > [1] => Array > > ( > > [Category] => Array > > ( > > [id] => 2 > > [name] => Second Category > > [created] => > > ) > > > ) > > > ) > > > I do not need nor want it to pull the scripts! > > > It is doing both these quarries: > > > SELECT `Category`.`id`, `Category`.`name`, `Category`.`created` FROM > > `categories` AS `Category` WHERE 1 = 1 > > > SELECT `Script`.`id`, `Script`.`title`, `Script`.`description`, > > `Script`.`content`, `Script`.`category_id`, `Script`.`user_id`, > > `Script`.`created`, `Script`.`modified` FROM `scripts` AS `Script` > > WHERE `Script`.`category_id` IN (1, 2, 3) > > > But I really only need the first listed quarry. It seems to me that > > the $recursive argument of find() should do it but it is not working > > for me. I tried setting $recursive = -1 > > > I feel like there is some simple option that needs to be set somewhere > > and that's it. Any ideas? > > > Thanks, > > Jonah --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "CakePHP" group. To post to this group, send email to cake-php@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/cake-php?hl=en -~----------~----~----~----~------~----~------~--~---