Reputation: 103
In my application I have a page it called index.blade
, with route /index
. In its URL, it has some get
parameter like ?order
and ?type
.
I want to pass these $_get
parameter to my route controller action, query from DB and pass its result data to the index page. What should I do?
Upvotes: 8
Views: 41599
Reputation: 6279
If you want to access the data sent from get
or post
request use
public function store(Request $request)
{
$order = $request->input('order');
$type = $request->input('type');
return view('whatever')->with('order', $order)->with('type', $type);
}
you can also use wildcards.
Exemple link
website.dev/user/potato
Route
Route::put('user/{name}', 'UserController@show');
Controller
public function update($name)
{
User::where('name', $name)->first();
return view('test')->with('user', $user);
}
Check the Laravel Docs Requests.
Upvotes: 24
Reputation: 8135
For those who need to pass part of a url as a parameter (tested in laravel 6.x, maybe it works on laravel 5.x):
Route
Route::get('foo/{bar}', 'FooController@getFoo')->where('bar', '(.*)');
Controller:
class FooController extends Controller
{
public function getFoo($url){
return $url;
}
}
Test 1:
localhost/api/foo/path1/path2/file.gif
will send to controller and return:
path1/path2/file.gif
Test 2:
localhost/api/foo/path1/path2/path3/file.doc
will send to controller and return:
path1/path2/path3/file.doc
and so on...
Upvotes: 3