The star rating would be for the review.
I recently built a review system. It is not related to multiple things, however, it is related to products.
If you want to show reviews then each review has a star rating, on top of this the “Worker” will have an aggregate (average) for the company. You might also want to show an overall aggregate for all companies for the worker.
You need to think about how your going to show the aggregate? Are you going to calculate this every time? That is get all the reviews for the worker for the company and then calculate the aggregate on the fly? This could be extremely slow if there are many reviews. If you think that you’ll be showing hundreds of reviews then the aggregates need to be per-calculated (probably using some type of a cron triggered when a new review is submitted) and stored somewhere.
But yes, I would have a review post type that is related to both the worker and the company. More than likely if it is the company that is submitting the review then I would not allow them to choose the company. On the other hand if these won’t be submitted by the company then you’ll need to allow for this to be selected.
To be honest, there are many ways that this could be done depending on how you need to show them.
Welcome to the Advanced Custom Fields community forum.
Browse through ideas, snippets of code, questions and answers between fellow ACF users
Helping others is a great way to earn karma, gain badges and help ACF development!