Yeah, so the "conventions" approach would be to use: Primary Key: id (int 11, or char 36) Foreign Key: name_id (int 11 or char 36) where "name" is the singular name of a model.
Example: CREATE TABLE `posts` ( `id` CHAR(36) NOT NULL PRIMARY KEY, `user_id` CHAR(36) NOT NULL, `name` VARCHAR(45), `content` TEXT ); CREATE TABLE `users` ( `id` CHAR(36) NOT NULL PRIMARY KEY, `name` VARCHAR(45) NOT NULL, `password` VARCHAR(255) NOT NULL ); That said, as I have shown you, you can use an alternative database structure, and just tell CakePHP about the changes. When we set "$primaryKey" on the model, we're just changing it from the default "id" to "period_id". When its not set specifically, CakePHP just looks for "id". I hope that helps. Cheers, Graham Weldon http://grahamweldon.com e. [email protected] p. (+61) 0407 017 293 Skype: grahamweldon On Wednesday, 30 November 2011 at 12:55 PM, GG wrote: > Actually, that worked... It's perfect > > As far as database structure... would this be a "standard" way of > structuring my tables? > > Table 1 (users) > id username password > > Table 2 (posts) > id post user_id type_id > > > Table 3 (types) > > type_id type_name > > > > On Nov 29, 5:48 pm, Graham Weldon <[email protected] (http://gmail.com)> > wrote: > > It looks like the issue is with your non-standard database structure, > > perhaps. > > > > On your Model/Period.php model, set the primary key to be 'period_id' since > > that looks like your primary key: > > > > class Period extends AppModel { > > > > public $primaryKey = 'period_id'; > > > > /// Other code here... > > > > } > > > > Do this for any models that have a primary key thats not 'id'. > > > > Cheers, > > Graham Weldonhttp://grahamweldon.com > > e. [email protected] (http://grahamweldon.com) > > p. (+61) 0407 017 293 > > Skype: grahamweldon > > > > > > > > > > > > > > > > On Wednesday, 30 November 2011 at 10:50 AM, GG wrote: > > > I know why it's not working, I just cannot figure out how to fix it. > > > > > > > These are my errors: > > > 1. Error: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'id' > > > in 'where clause' > > > 2. SQL Query: SELECT `Period`.`period_id`, `Period`.`title`, > > > `Period`.`created`, `Period`.`modified`, `Period`.`user_id` FROM > > > `periods` AS `Period` WHERE `id` = '51' AND `user_id` = 1 LIMIT 1 > > > > > > > > > > The query should be: .... WHERE 'period_id' = '51' AND 'user_id' = 1 > > > LIMIT 1 > > > > > > > > > > I am doing the request from /periods/delete/51 > > > > > Here is my PeriodsController.php > > > > > function delete($id) { > > > if (!$this->request->is('post')) { > > > throw new MethodNotAllowedException(); > > > } > > > > > > > > > > if($this->isActionable($id)){ > > > if ($this->Period->delete($id)) { > > > $this->Session->setFlash('Work successfully deleted.'); > > > $this->redirect(array('controller' => 'posts', 'action' => > > > 'index')); > > > } > > > } else { > > > $this->Session->setFlash('You cannot delete that post.'); > > > $this->redirect(array('controller' => 'posts', 'action' => > > > 'index')); > > > } > > > } > > > > > > > > > > This is in my view Students/index.ctp: > > > > > $this->Form->postLink( > > > 'Delete Class', > > > array('controller' => 'students', 'action' => > > > 'delete', $ps['Period']['period_id']), > > > array('confirm' => 'Are you sure?')); > > > > > > > > > > ----------- > > > > > I'm sure it's something obvious, but I am having a real difficult time > > > figuring it out. Thanks! > > > > > > > > > > -- > > > Our newest site for the community: CakePHP Video > > > Tutorialshttp://tv.cakephp.org > > > Check out the new CakePHP Questions sitehttp://ask.cakephp.organd help > > > others with their CakePHP related questions. > > > > > > > > > > To unsubscribe from this group, send email to > > > [email protected] > > > (mailto:[email protected]) For more options, visit > > > this group athttp://groups.google.com/group/cake-php > > > > > > > > > > -- > 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 > [email protected] For more options, visit this group at > http://groups.google.com/group/cake-php > > -- 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 [email protected] For more options, visit this group at http://groups.google.com/group/cake-php
