Thanks everyone. I have deduced that it is to do with $title being
some sort of reserved word in CakePHP. If I change the table name to
(e.g.) salutations and recreate the M/V/Cs it works fine. The reason
that only the 'view' view failed is that is references $title, while
the other views reference $titles.

On Aug 7, 8:19 am, bram <[email protected]> wrote:
> $title is a special variabe and it is used to set the page title. This
> took me a long time to figure out. Also, if you set variables with
> underscored, they don't end up in your views (they are available in
> camelCased format). I hope that this will change soon!
>
> On Aug 6, 6:22 pm, jburns <[email protected]> wrote:
>
> > Hi - I am new to CakePHP and finding my way around.
>
> > I have used bake to create model/view/controllers for a simple table.
> > Index works fine, displaying all records in the table, and so does
> > edit. But when I click the 'view' link, I get this error:
>
> > Notice (8): Undefined variable: title [APP/views/titles/view.ctp, line
> > 6]
>
> > I have added the code (straight out of bake) below. I can't see
> > anything obviously wrong. Is this a known issue? Where is the error
> > likely to be?
>
> > CODE:
>
> > The model:
> > class Title extends AppModel {
>
> >         var $name = 'Title';
> >         var $validate = array(
> >                 'title' => array('notempty'),
> >                 'display_order' => array('numeric')
> >         );
>
> >         //The Associations below have been created with all possible keys,
> > those that are not needed can be removed
> >         var $hasMany = array(
> >                 'User' => array(
> >                         'className' => 'User',
> >                         'foreignKey' => 'title_id',
> >                         'dependent' => false,
> >                         'conditions' => '',
> >                         'fields' => '',
> >                         'order' => '',
> >                         'limit' => '',
> >                         'offset' => '',
> >                         'exclusive' => '',
> >                         'finderQuery' => '',
> >                         'counterQuery' => ''
> >                 )
> >         );
>
> > }
>
> > The controller (truncated)
>
> > class TitlesController extends AppController {
>
> >         var $name = 'Titles';
> >         var $helpers = array('Html', 'Form');
>
> >         function index() {
> >                 $this->Title->recursive = 0;
> >                 $this->set('titles', $this->paginate());
> >         }
>
> >         function view($id = null) {
> >                 if (!$id) {
> >                         $this->flash(__('Invalid Title', true), 
> > array('action'=>'index'));
> >                 }
> >                 $this->set('title', $this->Title->read(null, $id));
> >         }
>
> > The view (truncated as it breaks on line 6 and subsequent rows):
> > <div class="titles view">
> > <h2><?php  __('Title');?></h2>
> >         <dl><?php $i = 0; $class = ' class="altrow"';?>
> >                 <dt<?php if ($i % 2 == 0) echo $class;?>><?php __('Id'); 
> > ?></dt>
> >                 <dd<?php if ($i++ % 2 == 0) echo $class;?>>
> >                         <?php echo $title['Title']['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
-~----------~----~----~----~------~----~------~--~---

Reply via email to