Personally I prefer doing search for - it’s just easier than maintaining a list on a thing for most use cases.

Bubble doesn’t have any cascading delete logic which makes maintaining lists rather painful. It’s just easier to delete the record and know that it’s not going to be a ghost data on some list.

Yes, you can add backend workflows to do the cascade deletes - I just prefer the simpler search method even though it uses slightly more WU.

I do however link single child datas on the parent since they are really joined at the hip.

ie
contact
contact_detail

Almost every relationship linking I create becomes more complicated than just a list on a data so nowadays I really think carefully about if it should just be it’s own datatype instead.

ie
list of companies a client works at is usually better as a data type
contact_company (contact works at a company but I’d also want to know their position, start and end date, status etc)

I also don’t need to return this list of contact_companies in 80% of the contact references so it doesn’t make sense to store the list on the contact - just better to search for it on the 1 time I need it.