Re: Creating DatabaseTables (cakephp way)

2008-11-06 Thread Donkeybob

I use this same concept but my userinformation is called profiles.
just what i like but here is how mine our set up:

users_controller.php:
class UsersController extends AppController {

var $name = 'Users';
var $scaffold;
}
user.php:
class User extends AppModel {

 var $name = 'User';
 var $hasOne = array(
'Profiles' => array('className' => 'Profiles',
'foreignKey' => 
'users_id',
'dependent' => 
false
)
);
}

profiles_controller.php:
class ProfilesController extends AppController {

var $name = 'Profiles';
   var $scaffold;
}
profile.php:
class Profile extends AppModel {

var $name = 'Profile';

var $belongsTo = array(
'Users' => array('className' => 'Users',
'foreignKey' => 
'users_id'
)
);

}

going by your table setup - - -
user table:
id integer auto increment primary
firstname varchar(45)
lastname varchar(45)

profile:
id integer auto increment primary
sss_number varchar(45)
birthday datetime
users_id integer primary

this scenario works for me

the id column in the profile table should be relevant to the profile
table only . . . your association would be with the user_id field in
the profile table and how you setup the relationship in your model
(ex.  'foreignKey' => 'users_id' ) will make it work

but this is how i do it . .

rich

On Nov 6, 8:18 am, Rey Philip <[EMAIL PROTECTED]> wrote:
> By the way thnks for the responseActually what I want to do is the
> "HasOne" relationship, the problem is that I can't implement it. The
> problem is like this
>
> I have a users table:
> id integer auto increment primary
> firstname varchar(45)
> lastname varchar(45)
>
> also I have a userinformations table
> id integer auto increment primary
> sss_number varchar(45)
> birthday datetime
> user_id integer
>
> I want this to have a one to one relationship
>
> so what I did in the userinformations_controller.php
>
> class UserinformationsController extends AppController
> {
>     var $name = 'Userinformations';
>     var $scaffold;
>
> }
>
> in the userinformation.php
>
> class Userinformation extends AppModel
> {
>     var $ame = 'Userinformation';
>     var $belongsTo = array('User');
>
> }
>
> in the users_controller.php
>
> class UsersController extends AppController
> {
>     var $name = 'User';
>     var $scaffold;
>
> }
>
> in the user.php
>
> class User extends AppModel
> {
>     var $name = 'User';
>     var $hasOne = array('Userinformation');
>
> }
>
> After doing that, I add new users to my users table and its
> doneThe problem now is when I insert records on the
> userinformations table, I cant insert 2 or more user_id in the
> userinformations table. So I think the problem is on my table cause my
> userinformations table has an auto_increment id  and also the primary
> key. So what I want to do is to delete the id in the userinformations
> table and then make the user_id a primary key so, it will have a one
> to one relationship with the user table.
>
> Am I right? Give me some advice on how to do it correctly.
>
> Good day.
--~--~-~--~~~---~--~~
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 [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/cake-php?hl=en
-~--~~~~--~~--~--~---



Re: Creating DatabaseTables (cakephp way)

2008-11-06 Thread Rey Philip

By the way thnks for the responseActually what I want to do is the
"HasOne" relationship, the problem is that I can't implement it. The
problem is like this

I have a users table:
id integer auto increment primary
firstname varchar(45)
lastname varchar(45)

also I have a userinformations table
id integer auto increment primary
sss_number varchar(45)
birthday datetime
user_id integer

I want this to have a one to one relationship

so what I did in the userinformations_controller.php

class UserinformationsController extends AppController
{
var $name = 'Userinformations';
var $scaffold;
}

in the userinformation.php

class Userinformation extends AppModel
{
var $ame = 'Userinformation';
var $belongsTo = array('User');
}

in the users_controller.php

class UsersController extends AppController
{
var $name = 'User';
var $scaffold;
}

in the user.php

class User extends AppModel
{
var $name = 'User';
var $hasOne = array('Userinformation');
}

After doing that, I add new users to my users table and its
doneThe problem now is when I insert records on the
userinformations table, I cant insert 2 or more user_id in the
userinformations table. So I think the problem is on my table cause my
userinformations table has an auto_increment id  and also the primary
key. So what I want to do is to delete the id in the userinformations
table and then make the user_id a primary key so, it will have a one
to one relationship with the user table.

Am I right? Give me some advice on how to do it correctly.

Good day.

--~--~-~--~~~---~--~~
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 [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/cake-php?hl=en
-~--~~~~--~~--~--~---



Re: Creating DatabaseTables (cakephp way)

2008-11-05 Thread David C. Zentgraf

In this case you'll have to tell Cake what the primary key is:
http://book.cakephp.org/view/437/primaryKey

Why would you want to name it this way though? An "id" column in the  
Category table is obviously going to be the "Category.id".  
"Category.category_id" seems pretty redundant to me, and in Cake  
conventions it looks like a belongsTo association field at first glance.

On 6 Nov 2008, at 08:44, Rey Philip wrote:

>
> hi guys,
>
>   I just would like to ask about creating tables. I have read a book
> "Apress Beginning CakePHP" in chapter 2 it says there that
>
> "Giving each record a unique id value is essential for Cake to
> function without trouble.
> This application is simple, so you may be able to get by without
> creating an id field set to
> auto_increment. However, it’s good practice to make sure that all your
> records in the database
> can be identified by a unique value and that it’s named id, because
> then Cake can generate
> scaffolding around your table without any code on your part. Once you
> begin creating associated
> tables, then it will be mandatory to include an id field."
>
> My question is, I want to change the id field into another name, let's
> say category_id. Example I have a category table like this.
>
> category_table
> fields: category_id, name, description
>
> Will this work in the scaffolding feature?
>
> Here's my entire problemSample I have  a not real world example
> haha...
>
> products has one to one relationship with category.
>
> product has one category
> category has one product
>
> product
> fields: id, name, description
>
> category
> fields category_id, name, description, product_id
>
> can this be possible using cake's scaffolding feature?
> if possible how?
>
> Good day.
>
> >


--~--~-~--~~~---~--~~
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 [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/cake-php?hl=en
-~--~~~~--~~--~--~---



Creating DatabaseTables (cakephp way)

2008-11-05 Thread Rey Philip

hi guys,

   I just would like to ask about creating tables. I have read a book
"Apress Beginning CakePHP" in chapter 2 it says there that

"Giving each record a unique id value is essential for Cake to
function without trouble.
This application is simple, so you may be able to get by without
creating an id field set to
auto_increment. However, it’s good practice to make sure that all your
records in the database
can be identified by a unique value and that it’s named id, because
then Cake can generate
scaffolding around your table without any code on your part. Once you
begin creating associated
tables, then it will be mandatory to include an id field."

My question is, I want to change the id field into another name, let's
say category_id. Example I have a category table like this.

category_table
fields: category_id, name, description

Will this work in the scaffolding feature?

Here's my entire problemSample I have  a not real world example
haha...

products has one to one relationship with category.

product has one category
category has one product

product
fields: id, name, description

category
fields category_id, name, description, product_id

can this be possible using cake's scaffolding feature?
if possible how?

Good day.

--~--~-~--~~~---~--~~
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 [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/cake-php?hl=en
-~--~~~~--~~--~--~---