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 [email protected]
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
-~----------~----~----~----~------~----~------~--~---