我注意到有几个类似的主题,但是没有一个解决方案能解决我的问题。
设置我的路线如下:
Route::resource('clientes', 'Clients\ClientsController',
[
'names' => [
'create' => 'clients.create',
'store' => 'clients.store',
'edit' => 'clients.edit',
'update' => 'clients.update'
]
]
);
我必须在Middleware
中捕获路由名称public function handle($request, Closure $next){
var_dump(Route::currentRouteName());exit;
}
方法创建和编辑print:
string(14) "clients.create"
string(12) "clients.edit"
但是,方法存储并更新print NULL。
我们尝试的其他方法是:
$request->route()->getName();
app()->router->getCurrentRoute()->getName();
提前致谢。
答案 0 :(得分:0)
试试这个:
//this is now "item2"
PaymentDetailsItemType item2 = new PaymentDetailsItemType();
BasicAmountType amt2 = new BasicAmountType();
amt2.setCurrencyID(CurrencyCodeType.fromValue("USD"));
double itemAmount2 = 1.00;
amt2.setValue(String.valueOf(itemAmount2));
int itemQuantity2 = 1;
item2.setQuantity(itemQuantity2);
item2.setName("item 2");
item2.setAmount(amt2);
//add item2 to your lineItems List
lineItems.add(item2);
或者如果你需要行动名称
Route::getCurrentRoute()->getPath();
来源: Illuminate/Routing/Router 。
查看 How to get Route in Middleware in Laravel 。
希望这对你有所帮助。
答案 1 :(得分:0)
我通过
相对于Route::currentRouteName()
做了
// Prefix name, i.e. Interfaces
$getPrefix = preg_replace ("/\W|\./", '', $request-> route ()-> getPrefix ());
// Full route name if controller resource, unless it'd be only controller name
$getName = $request-> route ()-> getName ();
// Resource action name, or another
$getActionName = $request-> route ()-> getActionName ();
// Full route name
echo $route = $getActionName === "Closure" ? "{$getPrefix}.{$getName}.index" : $getName;