I have a 'users' table, an 'auth_sources' table, and an 'auth_sources_users'
table to join them.
I added an extra field, 'unique_value' to the auth_sources_users table which
stores a unique value to identify that user against the chosen auth source.
In my User model, I have this:
var $hasMany = array(
'AuthSourcesUser'
);
In my AuthSource model I have this:
public $hasMany = array(
'AuthSourcesUser'
);
In my AuthSourcesUser model I have this:
public $belongsTo = array(
'AuthSource' => array(
'className' => 'AuthSource',
'foreignKey' => 'auth_source_id',
'conditions' => '',
'fields' => '',
'order' => ''
),
'User' => array(
'className' => 'User',
'foreignKey' => 'user_id',
'conditions' => '',
'fields' => '',
'order' => ''
)
);
But Cake isn't treating this anything like a HABTM relationship...
I have a normal HABTM relationship relating users and roles, (without a join
model manually being created) and that one works fine.
In my /users/add form, I create hidden fields populated with the data for
AuthSourcesUser, and after the form submits I manually add the Role id (for
security).
Here's what the array looks like which gets submitted:
Array
(
[User] => Array
(
[email] => (my email here)
[first_name] => Ben
[last_name] => McClure
)
[AuthSourcesUser] => Array
(
[auth_source_id] => 1
[unique_value] => (my unique value here)
)
[Role] => Array
(
[id] => 2
)
)
When I use saveAll($this->request->data) I get something weird, though:
The User record is created properly, the RolesUser record gets created
properly, but the AuthSourcesUser record does not. I get two records created
in the auth_sources_users table, both having auth_source_id, user_id, and
unique_value all empty.
Then, when I delete the User record, the associated record is deleted from
roles_users, but neither record is deleted from auth_sources_users.
What am I doing wrong?
Thanks,
Ben
--
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
[email protected] For more options, visit this group at
http://groups.google.com/group/cake-php