EDIT, I am rewriting the question for more clarity.
I have a “profile” model that has a belongs to relationship to a “user” model.
A certain user exists already. Later he creates a profile. The profile controller takes care of creating a new entry, but then needs to update a profile_id field as part of the associated user. I was under the impression that saveAll could take care of all the associations but it is not working?
What is the easiest/CakePHP standard way to do something like this? Thanks!
saveAll() creates new records. So you can’t use it to update an already existing record in the Users table. As Anh Pham already mentioned, you’ve got your associations wrong. A Profile belongs to a User, and a User has one Profile. By having a profile_id field in your Users table, you’re doing it the other way around.
So remove the profile_id field from the Users table, add a user_id field to the Profiles table, and update your model associations in user.php & profile.php.
To save a new Profile for an existing User, you can then either query the user id for the current User, or for example retrieve it through Auth, and add it manually to $this->data prior to calling the save() method of your Profile method.