It is not clear what you are trying to achieve, but you must query the database if you need data.
How/where you query the database may be at the heart of your question? In that case, you can eager-load the relation(s) you need in the view:
$shops = Shop::with('users')->get();
Now you will have exactly two database queries (i) on the shops table and (ii) on the users table - Eloquent puts together the correct users with each individual Shop instance.
If you also want the Product instances, and assuming there is a similar products relation on the Shop model:
$shops = Shop::with('users', 'products')->get();