Laravel从视图将变量传递给方法

时间:2018-09-20 09:56:34

标签: php laravel

我有一个名为settings.blade.php的视图

我想要一个按钮,当单击该按钮时,它将在HomeController中调用一个函数。

settings.blade.php:

<a href="{{action('HomeController@download', Auth::user()->id)}}"><button type="button" class="btn btn-light">Download my user data</button></a>

想法是它获取user_id并将其通过函数发送到HomeController @ download

运行此命令时,出现此错误

Action App\Http\Controllers\HomeController@download not defined. (View: C:\inetpub\www\laravel\baconator\resources\views\settings.blade.php)

无论如何定义

public function download($id){
    return $id;
}

此刻,它只是返回我正在测试的ID。

我在做什么错了?

2 个答案:

答案 0 :(得分:1)

定义这样的路线

Route::get('user/{user}', 'UserController@download')->name('downloadUser');

并这样定义href

{{ route('downloadUser',[Auth::user()->id]) }}

答案 1 :(得分:0)

例如: 在您的路线文件中添加一条路线

Route::get('/example/{user_id?}', 'HomeController@download')->name('download');

在您的视图文件中,将html更改为

<button onclick="window.location.href='{{url('/example').'/'.Auth::user()->id}}'" type="button" ></button>