有没有人知道是否可以在Laravel中使用URL查询。
例
我有以下路线:
Route::get('/text', 'TextController@index');
该页面上的文本基于以下url查询:
http://example.com/text?color={COLOR}
我将如何在Laravel内接近这个?
对的,这是可能的。试试这个:
Route::get('test', function(){
return "<h1>" . Input::get("color") . "</h1>";
});
并通过去http://example.com/test?color=red
来称呼它。
当然,您可以通过额外的参数来扩展它,以满足您内心的需求。试试这个:
Route::get('test', function(){
return "<pre>" . print_r(Input::all(), true) . "</pre>";
});
并添加一些参数:
http://example.com/?color=red&time=now&greeting=bonjour`
这会给你
Array
(
[color] => red
[time] => now
[greeting] => bonjour
)
对于未来的访问者,我使用下面的方法来> 5.0
。它利用Laravel的Request
class,可以帮助保持你的routes
和controller
的业务逻辑。
示例URL
admin.website.com/get-grid-value?object=Foo&value=Bar
routes.php文件
Route::get('get-grid-value', 'YourController@getGridValue');
YourController.php
/**
* $request is an array of data
*/
public function getGridValue(Request $request)
{
// returns "Foo"
$object = $request->query('object');
// returns "Bar"
$value = $request->query('value');
// returns array of entire input query...can now use $query['value'], etc. to access data
$query = $request->all();
// Or to keep business logic out of controller, I use like:
$n = new MyClass($request->all());
$n->doSomething();
$n->etc();
}
有关从请求对象检索输入的更多信息,请访问read the docs。
查询参数使用如下:
use Illuminate\Http\Request;
class ColorController extends BaseController{
public function index(Request $request){
$color = $request->query('color');
}
public function fetchQuery(Request $request){
$object = $request->query('object');
$value = $request->query('value');
}