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

时间:2018-02-01 08:57:51

标签: php routes laravel-5.3

我正在寻找帮助。

我一天都在努力解决这个问题,但我仍然不知道我的代码有什么问题。

我遇到了这种错误

enter image description here

所以,这是我想要的路线的 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);
    }
}

我试图通过网址传递参数。然后它会像目的地/ newyork ,或目的地/巴黎那样,该页面会在区域表上显示数据库中特定区域的一些内容。 我仍然没有为此编写代码,因为我仍然感到困惑。

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

我这样做错了吗?

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

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

将此代码插入您的模型

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

然后在web.php中编辑你的代码

Route::get('/pramana/destination/{area}','DestinationController@area');

最终编辑控制器中的功能

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