read manual again ! models names are Country (singularized and camelized), and controllers are CountriesController (pluralized)) -- Lep pozdrav, Tilen Majerle http://majerle.eu
2012/2/23 reynie...@gmail.com <reynie...@gmail.com> > OK, I made some changes to my DB structure and also to my code but still > getting errors, see below what I'm doing now. > 1) Change the table from countries to country and also rename the > composite PK from country_id to id > 2) Change code in the Model, now looks like this: > > <?php > class Country extends AppModel { > public $name = 'Country'; > } > > 3) Change code in the Controller: > class CountryController extends AppController { > public $name = 'Country'; > public $helpers = array("Html", "Form"); > public $components = array("Session"); > > public function edit($id = null) { > $this->Country->id = $id; > if ($this->request->is('get')) { > $this->request->data = $this->Country->read(); > } else { > if ($this->Countries->save($this->request->data)) { > $this->Session->setFlash(__('The country has been updated.')); > $this->redirect(array('action' => 'index')); > } else { > $this->Session->setFlash(__('Unable to update the country.')); > } > } > } > > But I get this error: > Missing Database Table > Error: Database table countries for model Country was not found. > Why? > Ing. Reynier Pérez Mira > http://reynierpm.site90.com/ > > > > On Thu, Feb 23, 2012 at 8:29 AM, reynie...@gmail.com > <reynie...@gmail.com>wrote: > >> So because CakePHP doesn't support compsite PK then the solution need to >> be change the field country_id for id and also in all the tables. Reading >> the conventions for Models I get one doubt and goes to oneToMany relations. >> If I have one relation oneToMany between tables candidate and education and >> I add the FK candidate_id in education table then CakePHP knows the >> relation by default? This is correct? Please can you take a look at my DB >> design and tell me if something is wrong there: >> http://www.dropmocks.com/mBgrQq ? >> >> Ing. Reynier Pérez Mira >> http://reynierpm.site90.com/ >> >> >> >> On Thu, Feb 23, 2012 at 7:40 AM, Tilen Majerle >> <tilen.maje...@gmail.com>wrote: >> >>> http://book.cakephp.org/2.0/en/getting-started/cakephp-conventions.html >>> >>> look here, cakephp conventions >>> -- >>> Lep pozdrav, Tilen Majerle >>> http://majerle.eu >>> >>> >>> >>> 2012/2/23 reynie...@gmail.com <reynie...@gmail.com> >>> >>>> Hi Tilen, I not understand your point here. As you said I have >>>> country_id as PK and my table is Countries not Country so my model code is >>>> this one (Countries.php): >>>> >>>> class Countries extends AppModel { >>>> public $name = 'Countries'; >>>> } >>>> >>>> then if I use $this->Country->id = $id doesn't work and if I >>>> use $this->Countries->country_id = $id doesn't work too. Which should be >>>> the solution? Change my table structure or what? >>>> >>>> Ing. Reynier Pérez Mira >>>> http://reynierpm.site90.com/ >>>> >>>> >>>> >>>> On Thu, Feb 23, 2012 at 5:02 AM, Tilen Majerle <tilen.maje...@gmail.com >>>> > wrote: >>>> >>>>> you have "country_id" as your primary key in table ? >>>>> >>>>> and "Countries" for modelname ? >>>>> it should be "Country" right ? :) >>>>> >>>>> $this->Countries->country_id = $id; //this is wrong >>>>> here should be ALWAYS "id", so $this->Countries->id = $id; >>>>> >>>>> but u should use camelized and singularized name, so >>>>> $this->Country->id = $id and it will work >>>>> >>>>> >>>>> >>>>> VIEW: >>>>> Form::create(); here you should have the same model name as you pass >>>>> data, "Country" and not CountryFrm >>>>> -- >>>>> Lep pozdrav, Tilen Majerle >>>>> http://majerle.eu >>>>> >>>>> >>>>> >>>>> 2012/2/23 reynie...@gmail.com <reynie...@gmail.com> >>>>> >>>>>> Hi every: >>>>>> Take a look at this function: >>>>>> >>>>>> public function edit($id = null) { >>>>>> $this->Countries->country_id = $id; >>>>>> if ($this->request->is('get')) { >>>>>> $this->request->data = $this->Countries->read(); >>>>>> } else { >>>>>> if ($this->Countries->save($this->request->data)) { >>>>>> $this->Session->setFlash(__('The country has been updated.')); >>>>>> $this->redirect(array('action' => 'index')); >>>>>> } else { >>>>>> $this->Session->setFlash(__('Unable to update the country.')); >>>>>> } >>>>>> } >>>>>> } >>>>>> >>>>>> Aparently all seems to be fine but surprise when I call edit method >>>>>> and pass a ID as parameter the data isn't showed in the template, why? >>>>>> Any >>>>>> help? This is the edit.ctp content: >>>>>> >>>>>> <h1>Edit Country</h1> >>>>>> <?php >>>>>> echo $this->Form->create('CountryFrm', array('action' => 'edit')); >>>>>> echo $this->Form->input('country_name'); >>>>>> echo $this->Form->input('iso_code_2'); >>>>>> echo $this->Form->input('iso_code_3'); >>>>>> echo $this->Form->input('country_id', array('type' => 'hidden')); >>>>>> echo $this->Form->end('Save!!!'); >>>>>> >>>>>> >>>>>> Ing. Reynier Pérez Mira >>>>>> http://reynierpm.site90.com/ >>>>>> >>>>>> -- >>>>>> 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 >>>>>> cake-php+unsubscr...@googlegroups.com 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 >>>>> cake-php+unsubscr...@googlegroups.com 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 >>>> cake-php+unsubscr...@googlegroups.com 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 >>> cake-php+unsubscr...@googlegroups.com 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 > cake-php+unsubscr...@googlegroups.com 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 cake-php+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/cake-php