Saturday, February 27, 2010

Re: Create database table using controller.

Hi John,

Thanks for your prompt reply.
I have read the CakePHP book but i couldn't find a solution.
I get this error, "Database table customers is not found" for the
first time I run the script.
However, when i refresh the page, the data will be able to save
accordingly.

The scenario is as below:
1. In my database, there are no Customer table.
2. So, I use a dummy table to create the customer table.
$this->Q->query("CREATE TABLE customer
(First_Name char(50),
Last_Name char(50),
Address char(50) default 'Unknown',
City char(50) default 'Mumbai',
Country char(25),
Birth_Date date)");
}
3. The snippet above will create the Customer table.
4. However, when I load the model for Customer,
$this->loadModel('Customer');
it returns me the error "Database table customers is not found".
5. When I refresh the page, there is no error and everything works
fine because the customer table has been created.

Regards,
Veepee

On Feb 28, 12:58 am, John Andersen <j.andersen...@gmail.com> wrote:
> What is your issue here? Was the table not created, was the model not
> loaded, was the data not saved?
>
> Also do look into the CakePHP naming conventions for tables, models
> and controllers. Following those will make your life a lot easier.http://book.cakephp.org/view/22/CakePHP-Conventions
>
> Another thing is that your customer table has not primary key!
>
> So I sincerly recomend you to read the CakePHP book first!
> Enjoy,
>    John
>
> On Feb 27, 4:46 pm, veepee <vpc...@gmail.com> wrote:
>
> > Hi All,
>
> > I am new to cakePHP and I've tried googling for this topic but to no
> > avail. I need to create a database table from controller. May i know
> > is it possible to insert into the newly created table, i.e. in this
> > example, the customer table using model?
>
> >  $this->Q->query("CREATE TABLE customer
> >                       (First_Name char(50),
> >                       Last_Name char(50),
> >                       Address char(50) default 'Unknown',
> >                       City char(50) default 'Mumbai',
> >                       Country char(25),
> >                       Birth_Date date)");
> >         }
> >  $this->loadModel('Customer');
> >  $this->Customers->saveAll(data);
>
> > I've tried it but this does not work. May I know if there are any
> > alternatives besides creating another insert statement using
>
> > $this->Q->query("INSERT INTO customer...");

Check out the new CakePHP Questions site http://cakeqs.org and help others with their CakePHP related questions.

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+unsubscribe@googlegroups.com For more options, visit this group at http://groups.google.com/group/cake-php?hl=en

No comments: