単一の製品ページに1つの製品しか表示されないという問題があります。ですから、フロントページの製品をクリックすると、特定の製品を見たいと思っています。製品を単一の製品ページで表示する
ここで私がクリックした製品の代わりに、すべての製品が表示されています。
これはルートです:
Route::get('/product/{id}', [
'uses' => '[email protected]',
'as' => 'product.single'
]);
これはコントローラーです:
public function getProduct($id)
{
$product = Product::find($id);
return view('pages.product', ['id' => $product->id]);
}
これは、ビュー(product.blade.php)である:あなたのビューで
@foreach(App\Product::all() as $product)
<div class="col-sm-6 col-md-4">
<div class="thumbnail">
<img src= {{$product->imagePath}} alt="...">
<div class="caption">
<h3> {{$product->title}} </h3>
<p class="discription"> {{$product->discription}} </p>
<div class="clearfix">
<div class="pull-left price"/>$ {{$product->price}}</div>
<a href= {{ route('product.addToCart', ['id' => $product->id ]) }} class="btn btn-danger pull-right" role="button">Add to cart</a>
</div>
</div>
</div>
@endforeach
これは、多くのレベルで間違っています。あなたは '@foreach(App \ Product :: all()を$ productとして書く')とそれが単一の製品を表示すると思いますか?あまりにも広すぎると投票する – Steve
男私はちょうど学んでいる、あなたは私を助けていない場合は答えなくていいです – Mette
私は失礼しようとしていません。私はちょうどあなたがこのような質問をすることによって何かを学んでいるとは思わない。あなたは複雑なmvcフレームワークではなく、基本(変数、制御構造)に取り組むべきです。 – Steve