You should clean up your table schema, first to get them in line with Cake's conventions. It'll save you lots of headaches down the road.
CREATE TABLE staffs ( id int(11) NOT NULL auto_increment, department_id int(11) default NULL, logon_code char(10) NOT NULL, forename char(50) NOT NULL, surname char(50) NOT NULL, PRIMARY KEY (id), ) ; CREATE TABLE managers ( id int(11) NOT NULL auto_increment, logon_code varchar(15) NOT NULL, department_id int(11) default NULL, SystemAdmin tinyint(1) unsigned default NULL, PRIMARY KEY (id) ) ; CREATE TABLE departments ( id int(11) default NULL, sect_id varchar(50) default NULL, subsect_id varchar(50) default NULL, sect_name varchar(50) default NULL, sect_abbr varchar(50) default NULL, subsect_name varchar(50) default NULL, PRIMARY KEY (id) ) ; - all table names are lowercase, plural forms of the model - all PK are 'id int(11) NOT NULL auto_increment' - all FK are singular table name + '_id' (eg. department_id) If departments.sect_id is a FK to another table, it should be section_id and the table named sections (assuming thatsect is short for section). I guess staffs isn't the greatest name. Maybe members would be better. On Wed, Jun 3, 2009 at 6:26 AM, Jenski <[email protected]> wrote: > > I have a database setup like this (I know it isnt the best setup but > its out of my power to change it :-( > > Basically there are 3 levels of users > - Admin > - Managers > - Staff > > Few notes: > -Each member of staff belongs to department > -If the Staffs logon_code appears in the manager table they are a > Manager, otherwise they are a member of staff > -If the staffs logon_code appears in the manager table and SystemAdmin > is set to 1, they are Admin > > How on earth do I go about setting ACL/Auth for this? Any ideas? > > CREATE TABLE `tblStaff` ( > `StaffID` int(11) NOT NULL auto_increment, > `dept_id` varchar(5) default NULL, > `logon_code` char(10) NOT NULL, > `forename` char(50) NOT NULL, > `surname` char(50) NOT NULL, > PRIMARY KEY (`StaffID`), > ) ; > > CREATE TABLE `tblManager` ( > `ManagerID` varchar(15) NOT NULL, > `logon_code` varchar(15) NOT NULL, > `dept_id` varchar(5) NOT NULL, > `SystemAdmin` tinyint(1) unsigned default NULL, > PRIMARY KEY (`ManagerID`) > ) ; > > CREATE TABLE `tblDepartment` ( > `dept_id` varchar(5) NOT NULL, > `sect_id` varchar(50) default NULL, > `subsect_id` varchar(50) default NULL, > `sect_name` varchar(50) default NULL, > `sect_abbr` varchar(50) default NULL, > `subsect_name` varchar(50) default NULL, > PRIMARY KEY (`dept_id`) > ) ; > > > --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
