@alodon Fetch the product with the product_id in your table orders. Maybe what do you want to do ? explain it please. Your relation are good and @michaloravec give you the best answer you need to add an where clause if you want to get the ordered products.
------------
|products|
id,
name,
category_id,
principal_image. or nothing if you want to upload multiple image add another table for this,
And Some Other fields you want...
-----------
| Orders | them table are special you need multiple relation for it for an good data structure
id.
Some fields here....
product_id <-- them is important that references the id on products table, you can do a foreign key for it.
address_id // if the address are in another table.
country_id,
And some fields...
after you've stored them data into your database you can fetch orders table and products table, that are ordered from product_id
Although I understand what you attempting to do, you cannot paginate on a collection of a collection. You can get a product and paginate orders on a product, but given the way pagination works it wouldn't make sense. The right way to do it is to get products. List out products and when the user selects a product then get a collection of orders which can be paginated so you can paginate products and then when a product is selected get orders for that product and paginate those orders but you cannot get a collection and for each item get a pagination. When you see what is returned it will make sense.