In Bubble every data entry gets a unique ID, so, if you have a data type of client, the ID is the unique ID…when you want to create a data field to show a relationship between product and client, you will create a field and make of type client, which essentially is the ID of the client and allows you to access all of the fields on the client data type.
This makes it such that you do not want to for the most part to have lots of information coming through unnecessarily, and to avoid that when possible, even if that information might just be the unique IDs of related things.
So, if you were to have a data type of product with a list of clients as a field related to list of clients data type, then you’ll, every time searching for products also be retrieving all of the unique ids of all of the clients on all of the products. An unnecessary amount of information to retrieve.
Additonally, fields that are lists have built in max of 10,000 items, so if your product data type has a field that is a list of clients, at most can have is 10K, and if you are using a list field, it becomes less peformant to do a search once that list goes beyond 50 or so items.
This means that having a data type called product with a list of clients as a field is less performant and less scalable than have a data type called inventory with a field for client and a field for product.
Set rg to type product, do a search for inventory with constraint of client is current user client and followed by each items product…this gets you all the products in the clients inventory…whats more with that, when you have field of qty, you can more easily add necessary features to sort by or filter by qty so clients can see what needs to be discounted or reordered.