如何解决我的表演功能在Laravel中不起作用网址显示了特定的ID,但页面中的数据不会显示
当我单击产品页面上的特定产品时,它会将我定向到单个产品页面。 URL中还显示了特定的产品ID。但是数据不会被传递。我的单个产品页面没有显示特定的产品数据。
这是我的控制器。
SingleProductController.php
<?php
namespace 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
这是我的路线。
web.php
Route::get('/singleproducts','SingleProductController@index')->name('singleproducts');
Route::get('/singleproducts/{id}','SingleProductController@show')->name('eachproduct');
为什么我的表演功能不起作用?
解决方法
route.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'));
}
充分希望它将对您有帮助。
,尝试一下
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自动找到您的产品。
,像这样使用
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>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。