Check here http://api.cakephp.org/1.2/classes.html before picking a
name for a class.

On Mon, Mar 10, 2008 at 7:47 AM, Marc <[EMAIL PROTECTED]> wrote:
>
>  Classname Model is already being used by Cake itself, try to rename
>  Model to Carmodel or so.
>
>
>
>  On 10 mrt, 07:03, mark_nsx <[EMAIL PROTECTED]> wrote:
>  > Hi there,
>  >
>  > Im new to cakePHP and only been playing around with it for a few days.
>  > I have made 2 simple tables just for me to have a feel of using
>  > cakePHP.
>  >
>  > table 1: (stores car makes)
>  > makes (id, make, created, modified)
>  >
>  > table 2: (stores car models, make_id foreign key)
>  > models (id, make_id, model, created, modified)
>  >
>  > The makes/add() action works fine, but im having troubles with the
>  > models/add() action.
>  > When I submit an empty form to add a new model, it just spits out
>  > errors in MySQL and it bypasses the validation code. Notice the
>  > dropdown of the car makes in models/add.
>  >
>  > Here's the code:
>  >
>  > [Models]:
>  >
>  > <?php
>  >
>  > class Make extends AppModel {
>  >
>  >         var $name = 'Make';
>  >
>  >         var $hasMany = array('Model' =>
>  >                                                         array('className' 
> => 'Model',
>  >                                                                   
> 'conditions' => '',
>  >                                                                   'order' 
> => 'Model.model ASC',
>  >                                                                   'limit' 
> => '',
>  >                                                                   
> 'foreignKey' => 'make_id',
>  >                                                                   
> 'dependent' => 'true',
>  >                                                                   
> 'exclusive' => 'false',
>  >                                                                   
> 'finderQuery' => '',
>  >                                                                   'fields' 
> => '',
>  >                                                                   'offset' 
> => '',
>  >                                                                   
> 'counterQuery' => ''
>  >                                                         )
>  >                                    );
>  >
>  >         var $validate = array('make' => '/[a-zA-Z]+/i');
>  >
>  > } // end class Make
>  >
>  > ?>
>  >
>  > <?php
>  >
>  > class Model extends AppModel {
>  >
>  >         var $name = 'Model';
>  >
>  >         var $belongsTo = array('Make' =>
>  >                                                         array('className' 
> => 'Make',
>  >                                                                   
> 'conditions' => '',
>  >                                                                   'order' 
> => '',
>  >                                                                   
> 'foreignKey' => 'make_id'
>  >                                                         )
>  >                                          );
>  >
>  >         var $validate = array('make_id' => VALID_NOT_NULL,
>  >                                                   'model' => 
> '/[a-zA-Z0-9\s\-]+/i'
>  >                                                  );
>  >
>  > } // end class Model
>  >
>  > ?>
>  >
>  > [Controllers]:
>  >
>  > <?php
>  >
>  > class MakesController extends AppController {
>  >
>  >         var $name = 'Makes';
>  >
>  >         function index() {
>  >                 $this->pageTitle = 'Car Makes';
>  >                 $this->layout = 'temp';
>  >                 $this->set('makes', $this->Make->findAll());
>  >         } // end index()
>  >
>  >         function add() {
>  >                 $this->pageTitle = 'Add Car Makes';
>  >                 $this->layout = 'temp';
>  >
>  >                 if (!empty($this->data)) {
>  >                         if ($this->Make->save($this->data)) {
>  >                                 $this->flash('Car make ' . 
> $this->data['Make']['make'] . ' has
>  > been saved.', '/makes/');
>  >                         } else {
>  >                                 $this->set('errorMsg', 'Please correct the 
> errors below:');
>  >                                 $this->render();
>  >                         }
>  >                 }
>  >         } // end add()
>  >
>  >         function getMakeList() {
>  >                 return $this->Make->generateList(null, 'make ASC', null,
>  > '{n}.Make.id', '{n}.Make.make');
>  >         } // end getMakeList()
>  >
>  > } // end class MakesController
>  >
>  > ?>
>  >
>  > <?php
>  >
>  > class ModelsController extends AppController {
>  >
>  >         var $name = 'Models';
>  >
>  >         function index() {
>  >                 $this->pageTitle = 'Car Models';
>  >                 $this->layout = 'temp';
>  >                 $this->set('models', $this->Model->findAll());
>  >         } // end index()
>  >
>  >         function add() {
>  >                 $this->pageTitle = 'Add Car Models';
>  >                 $this->layout = 'temp';
>  >
>  >                 // Load car makes dropdown
>  >                 $this->set('makes', 
> $this->requestAction('/makes/getMakeList/'));
>  >
>  >                 if (!empty($this->data)) {
>  >                         if ($this->Model->save($this->data)) {
>  >                                 $this->flash('Car model ' . 
> $this->data['Model']['model'] . ' has
>  > been added', '/models/');
>  >                         } else {
>  >                                 $this->set('errorMsg', 'Please correct the 
> errors below:');
>  >                                 $this->render();
>  >                         }
>  >                 }
>  >         } // end add()
>  >
>  > } // end class ModelsController
>  >
>  > ?>
>  >
>  > [Views]:
>  >
>  > <?php if (!empty($errorMsg)) { echo $errorMsg; } ?>
>  >
>  > <h1>Add Car Models</h1>
>  >
>  > <form method="post" action="<?php echo $html->url('/models/add/'); ?>">
>  >
>  >         <p>
>  >                 Add Model:
>  >                 <?php echo $html->input('Model/model'); ?>
>  >                 <?php echo $html->tagErrorMsg('Model/model', 'Model is 
> required.'); ?
>  >
>  >         </p>
>  >         <p>
>  >                 To this Make:
>  >                 <?php echo $html->selectTag('Model/make_id', $makes, null, 
> array(),
>  > null, true, false); ?>
>  >                 <?php echo $html->tagErrorMsg('Model/make_id', 'Make is
>  > required.'); ?>
>  >         </p>
>  >         <?php echo $html->submit('Save'); ?>
>  > </form>
>
>  >
>

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Cake 
PHP" group.
To post to this group, send email to cake-php@googlegroups.com
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