我有问题。我创建了一个链接,但这个链接想做另一件事。我试图改变一切,但这不起作用。为什么我的链接想要使用另一个控制器?这是代码:
<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']);
答案 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));
标记