为什么我的laravel链接想要使用另一个控制器?

时间:2017-09-17 19:15:46

标签: php laravel

我有问题。我创建了一个链接,但这个链接想做另一件事。我试图改变一切,但这不起作用。为什么我的链接想要使用另一个控制器?这是代码:

 <a href="{{ action('SharedDataController@store') }}" class="btn btn-primary">Share data with this user</a>

控制器就在这里:

    public function store($id)
    {
        dd($id);
    }

另一个控制器:

public function getFilter($sport)
{
    $user = Auth::user();
    $users = $this->model->getUsers($sport);

    return view('filter.' . $sport, compact('user', 'users'));
}

错误:

[2017-09-17 18:57:56] local.ERROR: View [filter.share] not found. {"userId":1,"email":"rbartek.r100@gmail.com","exception":"[object] (InvalidArgumentException(code: 0): View [filter.share] not found. at /var/www/html/SCE/vendor/laravel/framework/src/Illuminate/View/FileViewFinder.php:137)

路线:

Route::post('/share', ['uses' => 'SharedDataController@store']);    

Route::get('/{sport}', ['uses' => 'FilterController@getFilter']);

2 个答案:

答案 0 :(得分:0)

但什么阻止使用这种做法?

view.blade.php

<a href="/myLink" class="btn btn-primary">Share data with this user</a>

web.php

Route::get('/myLink', 'SharedDataController@store');

答案 1 :(得分:0)

您正在通过<a>标记发送get个请求。因此,Laravel选择第二条post路线而不是Route::post('/share', ['uses' => 'SharedDataController@store']);路线。

Route::get('/share', ['uses' => 'SharedDataController@store']);更改为 post

或者将逻辑包装在表单中并使用a方法而不是 $pw='1234'; $pwhash = strtoupper(sha1($pw)); 标记