ArgumentCountError 传递给函数 0 的参数太少,而在 Laravel 中预期正好是 1

ArgumentCountError Too few arguments to function 0 passed and exactly 1 expected in Laravel

我正在尝试更新我的 laravel 应用程序中的记录

在我的应用程序管理中blade我有一个link到单个记录

<a href="{{ route('activities.index',$app->appId) }}" class="btn btn-warning"> Activate</a>   

因此,一旦用户点击 link,用户将发送到位于

的更新记录 blade
views/activities/index.blade.php

我的控制器中有一个名为 ActivateController.php 的控制器,我在其中编写了与更新相关的函数。

现在在那个控制器中我有一个索引函数,

public function index($id)
    {
        //echo $id;
        $datas = Website::WHERE('appId','=',$id);
        return view('activities.index',compact('datas'));         
    }

在我的Routes/web.php中,我声明了我的路线如下

Route::get('/activities.index/{id}', 'ActivateController@index')->name('activities.index');

现在我面临两个问题,

1/ 我希望我的 url 像 TEST。SITE/activities/12 但目前它显示像 TEST。SITE/activities?12

2/ 当我尝试访问 acivities.index 时,它给我一个错误

ArgumentCountError
Too few arguments to function App\Http\Controllers\ActivateController::index(), 0 passed and exactly 1 expected

我在这里做错了什么以及如何解决上述问题?

如果这对你有帮助,请检查这个

{{ url('activities/index/', [$id]) }}

路线:

Route::get('/activities/index/{id}', 'ActivateController@index')->name('activities.index');