The way you are passing the data to view, is making a variable named $page with the value of "products".
Inside your controller, you will need to grab the products data you want passed to the foreach loop and save it to a variable. Assuming that you already have an Eloquent model called 'Product', you could call $products = Product::all(); and this would return a Collection of every Product. Then you can pass that to your views using
view('products')->withProducts($products)
view('products')->with('products', $products);
view('products', ['products' => $products]);
There are other methods as well, for example using compact if you have a variable named $products and $page like
view('products', compact('products', 'page'));
compactbasically creates an array using with variable names as keys and variable values as the corresponding values.
return view('products',compact('products'));then run your foreach$products = Product::orderBy('price','asc')->get();