It really is a pain to check if a record is exists right now.
My situation:
Each journey can have many waypoints and each waypoint can belong to many journeys. Point is I want to add data to that relationship, like date and time when the waypoint is reached. So I created a new table called ETA (Estimated time of Arrival). Each ETA belongs to a Journey and a Waypoint.
Now I want to get this ETA, simple right? On the journey page I have a list of waypoints. In that list I show a list. of ETAs. It should only show the ETA that belongs to this waypoint and this journey, so I said Show list of ETAs, Current Waypoint → ETAs. Great! Now I only have to make sure it shows the ETAs from this journey. So I should be able to simply add a filter and say where Current ETA → journey is equal to current journey.
You CANNOT do this, Why???
Now I have to manually create an ID for each record (while Adalo also creates an ID, which I cannot use…). I have to make sure it is unique and then check it. And making sure something is unique isn’t that simply either, you would say just get the count of rows and add 1, but what if a user deletes a row? Exactly, you will have multiple rows with the same ID!
I actually rather use many to many relationships because then I can simply say if x contains x then this. (Which for some reason doesn’t work if you want to use it for visibility rules, so I can’t use it for this purpose…)
Why isn’t that possible with a one to many relationship?
Please make this small feature happen, it will make everything so much easier!
Small note from my side: reg. creating new IDs - try to use not Count of rows +1, but Row Name → Maximum +1. That will help if user deletes the row with existing ID.
One more question, do you think I should maybe create my own pivot table instead of Adalo taking care of it? Since you cannot acces to pivot table Adalo created when you use a many to many relationship
It’s pretty hard to explain, since it is for a niche market. But each journey has waypoints, and those waypoints have ETAs (each waypoint has one ETA, Estimated Time of Arrival). Every user saves his Waypoints, so each waypoint can be used in multiple journeys, but for each journey you have to set a new ETA again Ofcourse.
I am glad it works now, but could have been easier.
for the sake of conclusion, I assume, your definition of ETA is “price for lower” collection, it is a master collection that contributes price to lower collection, in your case maybe, it contributes period of time, such minutes.
waypoints is lower collection, in my terms.
journey is middle collection.
You can find more information in this thread.
Whenever I can, I try to use 1-to-m relationship, because they are easier to manipulate, using generated records that are a copy of master collection that also related in 1-to-m.
For m-to-m, I usually use for description or delegation, moving from 1-to-m relationship to another 1-to-m, it is just for bridge, not for accumulation/summary.
Terms are always different, but levels and 1-to-m are forever the same.