I have a simple controller function that fetch all records from db. but when i am trying to show all these records it show nothing. In fact it shows me hard coded foreach loop like this.
 @foreach ($compactData as $value) {{ $value->Name }} @endforeach 
this is my contoller function.
public function showallProducts()
{
    $productstock = Product::all()->stocks;
    $productoldprice = Product::all()->OldPrices;
    $productcurrentprice = Product::all()->CurrentPrice;
    $compactData=array('productstock', 'productoldprice', 'productcurrentprice');
    return view('welcome', compact($compactData));
}
this is my view
       <!doctype html>
<html lang="{{ app()->getLocale() }}">
<head>
 </head>
 <body>
    <div class="flex-center position-ref full-height">
        <div class="content">
            <div class="title m-b-md">
                Laravel
            </div>
            <div class="title m-b-md">
                All products
            </div>
            <table>
                <tbody>
                @foreach ($compactData as $value)
                    {{ $value->Name }}
                @endforeach
                </tbody>
            </table>
        </div>
    </div>
</body>
why it is behaving like this. any solution?? I am using phpstorm version 17. Is their any setting issue to run project because what ever project I ran it gives me the only page which i ran with only html? My route is.
   Route::get('/', function () {
    $action = 'showallProducts';
    return App::make('ProductController')->$action();
 });
 
     
     
    