Неопределенная переменная: продукты (представление: E: \ Laravel проекты \ laravelstore \ resources \ views \ pages \ productsda sh .blade. php) - PullRequest
0 голосов
/ 20 января 2020

У меня проблема с продуктами. Вид

Код в продуктахda sh .blade. php

@if (count($products) > 0)
         @foreach ($products as $product)
      <tr>
        <th scope="row">1</th>
        <td>{{$product->name}}</td>
        <td>{{$product->price}}</td>
        <td>{{$product->condition}}</td>
      </tr>
      @endforeach
      @else
      <div class="alert alert-danger" role="alert">
          No Products Found
        </div>
      @endif

Метод индекса контроллера

public function index()
    {

        $products=Product::all();
           return view('pages.productsdash',compact('products'));

    }

Метод хранения контроллера

public function store(Request $request){


        $product=new Product();
        $product->name=$request->input('name');
        $product->category=$request->input('category');
        $product->condition=$request->input('condition');
        $product->price=$request->input('price');
        $product->platform=$request->input('platform');
        $product->description=$request->input('description');
        $product->save();
        return redirect('/Products')->with('success','Product Added');

    }

Я не знаю, в чем проблема с моей проблемой.

1 Ответ

0 голосов
/ 20 января 2020

Вы можете использовать

public function store(Request $request){
        //...
        $product->save();
        $products=Product::all();
        return redirect('/products')->with('success','Product Added')->with('products', $products);
        // OR 
        // you may redirect via named route like : return redirect()->route('products.index')->with('success','Product Added');
        // Named routes allow the convenient generation of URLs or redirects for specific routes. You may specify a name for a route by chaining the name method onto the route definition:

        // Route::get('products', 'Controller@method')->name('products.index');
        // see [redirecting to named route][1] 

}

@forelse ($products as $product)
   <tr>
        <th scope="row">1</th>
        <td>{{$product->name}}</td>
        <td>{{$product->price}}</td>
        <td>{{$product->condition}}</td>
   </tr>
@empty
    <div class="alert alert-danger" role="alert">
          No Products Found
    </div>
@endforelse
...