Laravl9にてMissing required parameter for [Route: ○○] [URI: ○○] [Missing parameter: id].が出た時
PHPのフレームワークLaravel9を利用していて、検索機能を作成時にエラーが出たので、エラーログをメモする。
serch.blade.php
{!! Form::open(['url' => 'search', 'method' => 'get']) !!}
    <div class="form-floating mb-3"  style="width: 70%; margin: 2rem auto;">
        <input type="text" class="form-control" name="shop_salon_search" id="floatingInput" placeholder="name@example.com">
        <label for="floatingInput">Salon & Shop Search</label>
    </div>
    <div class="professional_search_body">
        <h1>Category</h1>
        <div class="body-list topic">
            <ul>
                @foreach ($kinds as $kind)
                <li><button type="submit" name="shop_salon_category" value="{{ $kind->name }}" class="btn btn-outline-danger">{{ $kind->name }}</button></li>
                @endforeach
            </ul>
        </div>
    </div>
    {!! Form::close() !!}
検索時にControllerに'search'という名前でデータを受け渡す。
Controllerで処理したものをsearch_result.blade.phpに渡す。
そこでの処理が以下のコードである。
search.blade.php
@foreach ($posts as $post)
        <div class="topic-center">
        <a href="{{ route('salon_detail', ['id'=>$post->salon_id]) }}">
            <div class="topic-vertical">
                <div class="topic-outer">
                    <div class="topic-detail-top">
                        <img src="{{ asset('picture/salons/'.$post->salon_logo) }}" width="60%" alt="No image">
                        <div class="topic-detail-list">
                            @foreach ($post->categories as $category)
                            <p class="topic-detail-list-p-shop shop_list">{{ $category->name }}</p>
                            @endforeach
                        </div>
                    </div>
                </div>
                <p class="body-p2" style='margin: 1rem; font-size: 18px; font-family: Arial; padding: 0;'>{{ $post->salon_name }}</p>
            </div>
        </a>
        </div>
        <?php
         $count++;
        ?>
        @endforeach
ここの受け渡しでエラーがでた。
よくよく確認すると、データベースにないカラムを参照していた。
search_reslut.blade.php
<a href="{{ route('salon_detail', ['id'=>$post->salon_id]) }}">
エラーではsalon_detailに渡すsalon_idがないよというエラーだった。データベースに保存していたカラム名はsalon_idではなく、idだったためエラーが出ていた。
つまり
search_result.blade.php
<a href="{{ route('salon_detail', ['id'=>$post->id]) }}">
これでエラーがなくなった。