Well the first thing I noticed is your model filenames are not
following cake conventions, they should be singularized (request.php
not requests.php).
Have you tried baking your MVC as a start rather than coding it by
hand?
On Apr 10, 6:50 am, Chris <[EMAIL PROTECTED]> wrote:
> Hi All, I'm new to Cake and while I feel I have a good grasp of many
> of the concepts and conventions I have stumbled across the following
> problem. It's probably a simple lack of convention following, but
> I've read the manual over and over and I feel this should work.
> Hopefully my description will be succinct!
>
> I have 3 tables: groups, requests and request_statuses.
> A single request belongs to a single group and it has a single
> status. Hence a single group has many requests, as does a single
> request_status.
>
> I created the tables are follows (note: the request_statuses and the
> groups tables will be modified by an admin, and so I'd rather the ids
> were words than integers):
>
> CREATE TABLE `requests` (
> `id` int(11) NOT NULL auto_increment,
> `name` varchar(32) NOT NULL,
> `request_status_id` varchar(16) NOT NULL default 'submitted',
> `group_id` varchar(8) NOT NULL default 'unknown',
> PRIMARY KEY (`id`)
> )
>
> CREATE TABLE `request_statuses` (
> `id` varchar(16) NOT NULL,
> `name` varchar(16) NOT NULL,
> PRIMARY KEY (`id`)
> )
>
> CREATE TABLE `groups` (
> `id` varchar(8) NOT NULL,
> `name` varchar(16) NOT NULL,
> PRIMARY KEY (`id`)
> )
>
> The models look like:
>
> app/models/requests.php:
> class Request extends AppModel
> {
> var $belongsTo = array(
> 'RequestStatus',
> 'Group'
> );
>
> }
>
> app/models/request_statuses.php:
> class RequestStatus extends AppModel
> {
> var $hasMany = array(
> 'Request'
> );
>
> }
>
> app/models/groups.php:
> class Group extends AppModel
> {
> var $hasMany = array(
> 'Request',
> );
>
> }
>
> If I create a app/controllers/requests_controller.php thus:
>
> class RequestsController extends AppController
> {
> var $scaffold;
>
> }
>
> then when I access this page to list the requests - the 'Group' column
> in the resulting table is laid out correctly with links to the groups
> pages, but the 'Request Status' contains the error:
>
> "Notice: Undefined index: request_status_id in cake/libs/view/
> templates/scaffolds/index.thtml on line 79"
>
> I also note that the scaffolding index page for request_statuses shows
> the errors:
>
> Warning: Invalid argument supplied to foreach() in cake/libs/
> controller/controller.php on line 666
> Warning: Invalid argument supplied to foreach() in cake/libs/
> controller/controller.php on line 801
>
> As far as I can tell I've done everything right. Can anyone a) tell
> me why I get the error, and/or b) while you're at it generally point
> out and misunderstandings I may have demonstrated in my understanding
> of cake.
>
> I've tried refactoring everything down so that the 2 words "request
> status" become the single word "requeststatus", and that works.
> Obviously I could stick with this, but I feel it could and should be
> better.
>
> Many thanks for reading this far and for giving it some thought.
>
> Chris
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Cake
PHP" 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
-~----------~----~----~----~------~----~------~--~---