[Laravel]数字のみ設定できるidパラメーターを実装したい
Q&A
Closed
解決したいこと
クエリパラメータを使ってURLの末尾の数字を画面に表示させたいです。
(理想の結果)
URL:127.0.0.1:8000/hello/12345
表示:id = 12345
しかし、エラーが出てしまっています。
↓このように表示させたいです。
解決方法を教えて下さい。
発生している問題・エラー
Function () does not exist
該当するソースコード
index.blade.php
<!DOCTYPE html>
<html lang="ja">
<head>
<title>Index</title>
</head>
<body>
<h1>Hello/Index</h1>
<p>{{$msg}}</p>
</body>
</html>
Hello.Controller.php
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class HelloController extends Controller
{
public function index($id)
{
$data = [
'msg' => 'id = ' . $id,
];
return view('hello.index', $data);
}
public function other()
{
return redirect()->route('hello');
}
}
web.php
<?php
use App\Http\Controllers\HelloController;
use Illuminate\Support\Facades\Route;
Route::get('/', function () {
return view('welcome');
});
Route::get('/hello', [HelloController::class, 'index'])->name('hello');
Route::get('/hello/other', [HelloController::class, 'other']);
Route::get('hello/{id}', [HelloController::class], 'index')->where('id', '[0-9]+');
0