ショッピングサイトを作成中です。
やりたい事は、現在カテゴリー一覧を用意しており、カテゴリーを選択すると画面遷移して、対象カテゴリーの商品を一覧表示させたいです。
画面遷移までの実装は完了したのですが、いざ動作させると画面遷移ができず、「404|Not Found」と表示されます。
※php artisan route:listコマンドでルーティングを確認しましたが、問題はありませんでした。
上記について解決策を調査したところ、
①php artisan route:clearコマンドによるルートキャッシュのクリア
②httpd.confファイルに「AllowOverride All」の記述をする
上記2点の解決方法が見つかったのですが、①は試しても解決せず、②はWebサーバー「Apache」を使用している場合の対応で、私はApacheを使っていない為、この対応が出来ません。(Webサーバーはデフォルトで用意されているサーバーを使用しています。)
Webサーバー「Apache」を使っていない状態で、このNot Foundをエラーを解消し、画面遷移できるようにする為にはどうすれば良いか?、どなたか些細なことでも良いので、回答を頂けると幸いです。
よろしくお願い致します。
現状のソースコードを貼らせて頂きます。
web.php
Route::get('/', 'ShoppingController@index'); // 商品一覧(初期画面) Route::get('/shopping/{id}', 'ShoppingController@show'); // 商品詳細 Route::get('/shopping/category={id}', 'ShoppingController@categoryList'); // カテゴリー詳細⇦こちらが画面遷移できません・・・ Route::get('/search', 'SearchController@index'); // 検索機能 Route::get('/custmers/register', 'CustmerController@index'); // カスタマー新規登録 Route::get('/custmers/login', 'CustmerController@login'); // ログイン Route::get('/custmers/logout', 'CustmerController@logout'); // ログアウト Route::get('/buying/buyComfirm', 'BuyingController@index'); // 購入手続き Route::get('/buying/buyingComplete', 'BuyingController@buyingComplete'); // 購入完了 Route::get('/cart', 'ShoppingController@cart'); // カートを閲覧 Route::get('/createReview/index', 'ReviewController@index'); // レビューを書く
コントローラー
class ShoppingController extends Controller { // 商品を一覧表示する public function index (){ $products = Product::paginate(12); // 1ページに12件表示させる return view ('index', [ 'products' => $products, 'submenu' => Category::all(), ]); } // 商品の詳細情報を表示 public function show ($id){ $productDetail = Product::findOrFail($id); // 見つからなかったら例外を返す処理を行ってくれる $categoryProducts = Product::where('category_id',$productDetail["category_id"])->whereNotIn('id',[$id])->get(); // 同カテゴリー商品を取得する(対象商品以外を取得) $productComments = Comment::where('product_id',$productDetail["id"])->get(); // 対象商品に対するコメントも取得する return view('show', [ 'productDetail' => $productDetail, 'categoryProducts' => $categoryProducts, 'productComments' => $productComments, 'submenu' => Category::all(), ]); } // カテゴリー毎の商品一覧を表示(引数はカテゴリーID) // 今回表示させたいメソッドです public function categoryList ($id){ $products = Product::where('category_id', $id)->get(); // 選択したカテゴリーの商品を取得する return view('categoryProduct', [ 'products' => $products, 'submenu' => Category::all(), ]); }
今回表示させたいview’(categoryProduct.blade.php)
@extends('layouts.default') @section('title', 'Shopping Review') @section('css') <link rel="stylesheet" href="{{ asset('css/imagehover.min.css') }}"> @endsection @section('content') @include('submenu', ['categorys' => $submenu]) @if (isset ($products)) <div class = 'content'> @foreach ($products as $product) <figure class="imghvr-fade"> <img src="{{ $product->image }}" class="productImage"> <figcaption> カテゴリー:{{ $product->category->name }}<br/><br/> 商品名:{{ $product->name }}<br/><br/> 価格:{{ $product->price }}円 </figcaption> <a href="{{ action('ShoppingController@show', $product->id) }}"></a> </figure> @endforeach {{ $products->links() }} </div> @endif @endsection
回答1件
あなたの回答
tips
プレビュー