(InvalidArgumentException) 操作 App\Http\Controllers\DestinationController@method 未定义

(InvalidArgumentException) Action App\Http\Controllers\DestinationController@method not defined

我正在寻求帮助。

我已经为此苦苦挣扎了一天,但我仍然不知道我的代码有什么问题。

我遇到了这种错误

所以,这是我想要的 web.php 路线。

Route::get('/pramana/destination/{area}', function($area) {
   return redirect()->action('DestinationController@area', ['area' => $area]);
});

DestinationController.php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Destination;
use Session;

class DestinationController extends Controller
{
    public function area() {
        $popup = 'popupsssssss';
        Session::set('popup', $popup);

        $destinations = Destination::all();
        return view('destination')->with('destinations',$destinations);
    }
}

我正在尝试通过 url 传递参数。之后就是destination/newyork,或者destination/paris,那个页面会显示一些特定区域的内容来自区域 table 的数据库。 我仍然没有为此编写代码,因为我仍然感到困惑。

如果我使用路由到控制器的正常方式,它工作正常但我无法正确获取参数。

我做错了吗?

我是 Laravel 的新人。对不起,我的英语不太好。

谢谢你帮助我。

将此代码插入您的模型

public function getRouteKeyName()
{
    return 'area';
}

然后在 web.php

中编辑您的代码
Route::get('/pramana/destination/{area}','DestinationController@area');

终于在您的控制器中编辑功能

public function area($area){
//use $area
}