Ошибка CRUD в поле зрения, когда БД пуста в Laravel 6 - PullRequest
0 голосов
/ 07 января 2020

Я пытаюсь создать страницу CRUD, используя один вид. Когда у меня есть данные в БД, моя таблица отображается без ошибок. Однако, если база данных пуста, она отображает ошибку следующим образом:

Неопределенная переменная: Product

Пожалуйста, помогите. Что я делаю не так?

ProductsController. php

public function index()
{
    $products = Product::orderBy('name', 'asc')->paginate();

    return view('products')->with('Products', $products);
}

public function create()
{
    return view('products.create');
}

web. php

Route::resource('/products', 'ProductsController');

products.blade. php

<table id="example23" class="display nowrap table table-hover table-striped table-bordered" cellspacing="0" width="100%">
         <thead>
            <tr>
              <th>NO</th>
              <th>SKU</th>
              <th>HSN CODE</th>
              <th>PRODUCT NAME</th>
              <th>QUANTITY</th>
              <th>PRICE</th>
            </tr>
          </thead>
          <tbody>
            @foreach($Products as $Product)
             <tr>
                  <td>{{ $Product->id }}</td>
                  <td>{{ $Product->sku }}</td>
                  <td>{{ $Product->hsn }}</td>
                  <td>{{ $Product->name }}</td>
                  <td>{{ $Product->quantity }}</td>
                  <td>{{ $Product->price }}</td>
                  <td><button type="button" class="btn btn-success editbtn">Edit</button></td>
               </tr>
             @endforeach
     </tbody> 

1 Ответ

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

Попробуйте следующее.

Контроллер

public function index()
{
    $products = Product::orderBy('name', 'asc')->get();

    return view('products.index')->with('Products', $products);
}

Просмотр

<table id="example23" class="display nowrap table table-hover table-striped table-bordered">
    <thead>
    <tr>
        <th>NO</th>
        <th>SKU</th>
        <th>HSN CODE</th>
        <th>PRODUCT NAME</th>
        <th>QUANTITY</th>
        <th>PRICE</th>
    </tr>
    </thead>
    <tbody>
    @if(!$Products->isEmpty())
        @foreach($Products as $Product)
            <tr>
                <td>{{ $Product->id }}</td>
                <td>{{ $Product->sku }}</td>
                <td>{{ $Product->hsn }}</td>
                <td>{{ $Product->name }}</td>
                <td>{{ $Product->quantity }}</td>
                <td>{{ $Product->price }}</td>
                <td>
                    <button type="button" class="btn btn-success editbtn">Edit</button>
                </td>
            </tr>
        @endforeach
    @else
        <tr>
            <td>You do not have any products to display.</td>
        </tr>
    @endif
    </tbody>
</table>
...