为了账号安全,请及时绑定邮箱和手机立即绑定

我的显示功能在 Laravel 中不起作用。URL显示特定的id,但页面数据不会出现

我的显示功能在 Laravel 中不起作用。URL显示特定的id,但页面数据不会出现

PHP
aluckdog 2023-10-01 15:40:16
当我单击产品页面上的特定产品时,它会将我定向到单个产品页面。URL 中还显示特定的产品 ID。但数据不会被传递。我的单个产品页面不显示特定的产品数据。这是我的控制器。SingleProductController.php<?phpnamespace App\Http\Controllers;use Illuminate\Http\Request;use App\Product;use App\Category;class SingleProductController extends Controller{    public function index(Product $product)    {        $arr['product'] = $product;        return view('singleproducts')->with($arr);    }        public function create()    {        //    }       public function store(Request $request)    {        //    }        public function show($id)    {             $product = Product::find($id);               return view ('singleproducts')->with(['product'=>$product]);    }       public function edit($id)    {        //    }        public function update(Request $request, $id)    {        //    }       public function destroy($id)    {        //    }}这是我的刀片文件。singleproducts.blade@extends('layouts.singleproducts')@section('content')   <h2 class="font-size-25 text-lh-1dot2">{{ $product ['prod_name'] }}  </h2> <div class="mb-4">                                    <div class="d-flex align-items-baseline">                                        <ins class="font-size-36 text-decoration-none">{{ $product ['prod_price'] }}</ins>                                        <del class="font-size-20 ml-2 text-gray-6">$2,299.00</del>                                    </div>                                </div>    @endsection
查看完整描述

3 回答

?
红颜莎娜

TA贡献1842条经验 获得超12个赞

路线.php


Route::get('/singleproducts', 'SingleProductController@index')->name('singleproducts');

Route::get('/eachproduct/{id}', 'SingleProductController@show')->name('eachproduct');

产品列表页


@if (isset($products) && count($products) > 0)

    @foreach ($products as $product)

    <div class="blog_box_inner" style="cursor: pointer;" >

        <h1 class="blog_inner_heading">

            <a href="/eachproduct/{{$product['id']}}" class="blog_readmore_link">

                {{$product['prod_name']}}

            </a>

        </h1>

    </div>

    @endforeach

    @endif

单页


<h2 class="font-size-25 text-lh-1dot2">{{ $product['prod_name']}}  </h2>

控制器


public function index() {

    $products = Product::orderBy('id', 'DESC')->get();

    return view('')->with(compact('products'));

}


public function show($id) {

    $product = Product::find($id);

     return view('')->with(compact('product'));

}

完全希望它能轻松地帮助您。


查看完整回答
反对 回复 2023-10-01
?
茅侃侃

TA贡献1842条经验 获得超21个赞

尝试这个


 public function show(Product $product)

    return view ('singleproducts', compact('product'));

}

并通过路线


Route::get('/eachproduct/{product}', 'SingleProductController@show')->name('eachproduct');

并在您的视图页面中获取产品数据


singleproducts.blade



@extends('layouts.singleproducts')

@section('content')


<h2 class="font-size-25 text-lh-1dot2">{{ $product->prod_name }}  </h2>

<div class="mb-4">

<div class="d-flex align-items-baseline">

<ins class="font-size-36 text-decoration-none">{{ $product->prod_price }}</ins>

<del class="font-size-20 ml-2 text-gray-6">$2,299.00</del>

</div>

</div>


@endsection

它会根据 id 自动查找您的产品。


查看完整回答
反对 回复 2023-10-01
?
拉莫斯之舞

TA贡献1820条经验 获得超10个赞

像这样使用

return view('singleproducts',compact('product'));

在你看来,像这样使用

<h2 class="font-size-25 text-lh-1dot2">{{ $product->prod_name }}  </h2>
<ins class="font-size-36 text-decoration-none">{{ $product->prod_price }}</ins>


查看完整回答
反对 回复 2023-10-01
  • 3 回答
  • 0 关注
  • 95 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信