我们如何分别展示不同类型的产品?

How can we show the product of different type separately?

我有两种产品。书和 CD。书有页数,CD 有播放长度。我保留了编辑、更新和删除的条件,并且工作正常。在 Product Controller 的索引功能中,我展示了所有产品及其展示,但是当我需要在 product.blade.php 中展示它时,应该保持什么条件以不同方式展示该产品。例如:如果产品是书,则应显示页码,如果是 CD,则应显示播放长度。数据库中的列是两者的 papl。

ProductController.php

     public function index()
            {
                $products=product::all();
                
                return view('mainAdmin/products', ['products'=>$products]);
                
            }

public function show(Product $product)
    {
        if($product->type == 'Book') 
        return view('mainAdmin/bookProduct', ['product'=>$product]);

        if($product->type=='cd') 
        return view('mainAdmin/cdProduct', ['product'=>$product]);
        //return view('singleProduct', ['product'=>$id]);
    }

products.blade.php

 @foreach($products as $product)
   
      Title:{{ $product->title}}<br>
      Type:{{ $product->type}}<br>
      Firstname:{{ $product->firstname}}<br>
      Surname:{{ $product->surname}}<br>
      Price:£{{ $product->price}}<br>
      PageNumber:{{ $product->papl }}<br>
      <a href="{{ route('singleProduct',$product->id)}}" class="btn btn-primary">Show</a>
      <a href="{{ route('editProduct',$product->id)}}" class="btn btn-danger">Edit</a><br/>
      <p>--------------------------------------------------------------------------</p>
      
      @endforeach
   

数据库: enter image description here

你可以使用 blade @if @else

@foreach($products as $product)
   
Title:{{ $product->title}}<br>
Type:{{ $product->type}}<br>
Firstname:{{ $product->firstname}}<br>
Surname:{{ $product->surname}}<br>

@if ($product->type == 'cd')
Price:£{{ $product->price}}<br>
@endif

@if ($product->type == 'Book')
PageNumber:{{ $product->papl }}<br>
@endif

<a href="{{ route('singleProduct',$product->id)}}" class="btn btn-primary">Show</a>
<a href="{{ route('editProduct',$product->id)}}" class="btn btn-danger">Edit</a><br/>
<p>--------------------------------------------------------------------------</p>

@endforeach

ref link https://laravel.com/docs/8.x/blade#if-statements