質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.34%
Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Blade

Bladeとは、 PHPフレームワークのLaravelで使用することができるテンプレートエンジンです。テンプレートの継承とエスケープ機能を提供します。

Q&A

解決済

1回答

168閲覧

Laravel8 bladeからrouteにDBレコードのidをパラメータとして渡したい

-198

総合スコア3

Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Blade

Bladeとは、 PHPフレームワークのLaravelで使用することができるテンプレートエンジンです。テンプレートの継承とエスケープ機能を提供します。

0グッド

0クリップ

投稿2024/08/03 01:36

実現したいこと

bladeで取得したデータベースのレコードのidをaタグからパラメータとしてコントローラに渡したい

発生している問題・分からないこと

bladeで特定レコードのidをrouteにパラメータとして渡してるつもりが、idの値がうまく取得できず難航しています。

該当のソースコード

blade.php

1<div class="container"> 2 <div class="content__title"> 3 <a href="" class="title">おすすめ</a> 4 <a href="" class="title">マイリスト</a> 5 </div> 6 <div class="item__raw"> 7 @foreach( $items as $item) 8 <div class="item__card"> 9 <div class="item__card-body"> 10 <img class="card-image" src=""> 11 <div class="" > 12 <span class="card-price">{{number_format($item->price)}}</span> 13 </div> 14 </div> 15 <div class="card-body"> 16 <h5 class="card-title">{{$item->name}}</h5> 17 </div> 18 <a href="/item/{{ $item->id }}" class="card-link">商品詳細</a> 19 </div> 20 @endforeach 21 </div>

ItemController

1<?php 2 3namespace App\Http\Controllers; 4 5use Illuminate\Http\Request; 6use App\Models\Item; 7use App\Models\Condition; 8use App\Models\Category; 9 10 11 12class ItemController extends Controller 13{ 14 public function index() 15 { 16 17 $items = Item::orderBy('id', 'DESC')->paginate(5); 18 19 return view('index',compact('items')); 20 } 21 22 public function itemDetail($item) 23 { 24 $items = Item::with('category')->with('condition')->where('id',$item)->first(); 25 return view('detail',compact('items')); 26 } 27} 28

web.php

1<?php 2 3use Illuminate\Support\Facades\Route; 4use App\Http\Controllers\ItemController; 5use App\Http\Controllers\ProfileController; 6use App\Http\Controllers\SellController; 7 8 9Route::get('/',[ItemController::class,'index']); 10Route::get('/item/{item}', [ItemController::class,'itemDetail']);

試したこと・調べたこと

  • teratailやGoogle等で検索した
  • ソースコードを自分なりに変更した
  • 知人に聞いた
  • その他
上記の詳細・結果

調べてURLで展開させる方法とroute()ヘルパーの第2引数で指定する方法で試して、dd関数で$itemの値を何度もチェックしましたがidが入りませんでした。
bladeのaタグでのidをパラメータとして渡す方法が間違っているのでしょうか。

補足

特になし

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

ルーティングを/item/{item}から/{item}に変更してみたら解決しました。

投稿2024/08/03 04:04

-198

総合スコア3

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.34%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問