在 laravel 5 中将参数传递给控制器​​?

Passing parameters to controller in laravel 5?

我在我的一个项目中使用 Laravel 5,我想从路由 (web.php) 向控制器传递一些值。

我的代码如下:

路由定义:

Route::get(Config::get('constant.ROUTES.UPLOADS'), 'UploadsController@index');

常数值

'UPLOADS' => '/images/{filename}'

控制器

class UploadsController extends Controller
{
    function index($filename) {
        //Some code here
    }
}

错误

ErrorException in UploadsController.php line 9:
Missing argument 1 for somewebsite\Http\Controllers\UploadsController::index()

谁能帮我解决这个问题?

这样试试:

function index(Request $request) {
   $filename = $request->filename; // the right value should be here
}

确保您使用的是:

use Illuminate\Http\Request;

以下行存在问题:

function index($filename) {
        //Some code here
}

改成:

public function index(Request $request, $id)
{
    $filename = $request->filename;
}

Check this reference

注意:使用请求:

use Illuminate\Http\Request;

在您的控制器中,您也可以使用全局请求来获取您的值:

function index() {
        $yourFileName = $_REQUEST['filename'];
}