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

时间:2020-12-29 04:24:00

标签: mysql laravel view controller laravel-8

我有两种类型的产品。书和光盘。 Book 有页数,cd 有播放长度。我保留了编辑、更新和删除的条件,它运行良好。在产品控制器的索引功能中,我显示了所有产品及其显示,但是当我需要在 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

1 个答案:

答案 0 :(得分:0)

你可以使用刀片@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

参考链接 https://laravel.com/docs/8.x/blade#if-statements