Hey guys,
So, I have a many_to_many relationship for pages and users. I then have a page_users lookup table. Now, it seemed to me that it would be a great opportunity to put a users page permissions on the lookup table, so the lookup has an additional integer field. However, it’s not quite so simple as that. I can’t use this without a primary key, and I can’t figure out how to have a composite primary key. If I specify no primary key, I can’t access the role and with an id key, I can no longer update a relationship or add a relationship without getting:
** (RuntimeError) you are attempting to change relation :users of
MyApp.Page, but there is missing data.
If you are attempting to update an existing entry, please make sure
you include the entry primary key (ID) alongside the data.
If you have a relationship with many children, at least the same N
children must be given on update. By default it is not possible to
orphan embed nor associated records, attempting to do so results in
this error message.
It is possible to change this behaviour by setting `:on_replace` when
defining the relation. See `Ecto.Changeset`'s section on related data
for more info.
Is there a solution to this? Are there any examples anywhere?
Thanks,
Lee