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

时间:2016-12-20 12:36:59

标签: php laravel-5 laravel-routing

我在我的一个项目中使用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()

有人可以帮我吗?

3 个答案:

答案 0 :(得分:2)

试试这样:

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

请确保您使用的是:

use Illuminate\Http\Request;

答案 1 :(得分:1)

以下行存在问题:

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

将其更改为:

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

Check this reference

注意:要使用请求:

use Illuminate\Http\Request;

答案 2 :(得分:0)

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

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