Just wanted to confirm that a controller baked with 1.2 RC4 gives the same error.
On Dec 21, 2:35 pm, DavidH <djhollingwo...@gmail.com> wrote: > Hi > > I'm using CakePHP version 1.2 RC3. I have a table called 'sites' which > is basically a hierarchy or tree of sites with Plant Earth at the top > and fintering down through continents, counties, states, towns etc. > Each site record has a parent ID that links to the next site up the > tree. My model reflects this: > > class Site extends AppModel { > var $name = "Site"; > > var $hasMany = array( > 'Sites' => array('ClassName' => 'Site', > 'foreignKey' => 'parent_id')); > var $belongsTo = array( > 'Sites' => array('ClassName' => 'Site', > 'foreignKey' => 'parent_id'), > 'Users' => array('ClassName' => 'User', > 'foreignKey' => 'user_id') > ); > > (The site also belongs to an application user). > > If I create a controller to use scaffolding this works very well. When > I add a site it produces a drop down list of sites so I can select the > parent site. Very nice. > > However I wanted to go beyond scaffolding and so I baked a new > controller using cake bake. However this new controller gives an error > when I try to run the add method. Here's the error: > > Notice (8): Undefined property: Site::$Site [APP/controllers/ > sites_controller.php, line 31] > > Code > > } > } > $sites = $this->Site->Site->find('list'); > > SitesController::add() - APP/controllers/sites_controller.php, line 31 > Object::dispatchMethod() - CORE/cake/libs/object.php, line 114 > Dispatcher::_invoke() - CORE/cake/dispatcher.php, line 259 > Dispatcher::dispatch() - CORE/cake/dispatcher.php, line 213 > [main] - APP/webroot/index.php, line 90 > > Fatal error: Call to a member function find() on a non-object in /var/ > www/birdspotter/app/controllers/sites_controller.php on line 31 > > and here's the method: > > function add() { > if (!empty($this->data)) { > $this->Site->create(); > if ($this->Site->save($this->data)) { > $this->Session->setFlash(__('The Site has > been saved', true)); > $this->redirect(array('action'=>'index')); > } else { > $this->Session->setFlash(__('The Site could > not be saved. Please, > try again.', true)); > } > } > $sites = $this->Site->Site->find('list'); > $users = $this->Site->User->find('list'); > $this->set(compact('sites', 'users')); > } > > This controller doesn't appear to recognize the relationship between a > site and it's parent. Given that the scaffold has no problem with this > relationship why doesn't the baked controller get it right? > > Is there a simple fix for the baked controller? The edit method has > the same problem. > > Thanks > > David --~--~---------~--~----~------------~-------~--~----~ 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 cake-php+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/cake-php?hl=en -~----------~----~----~----~------~----~------~--~---