使用laravel路线批准电子邮件中的某些表单。 所以我加密了一些变量并创建了链接 这就像
<a href="http://localhost/travel/tr/approveRequest?id=<?=$Encoded_travelRq_id?>&gsID<?=$Encoded_emp_gslab_id?>&decrypt<?=$Encoded_iv?>/">Approve</a>;
现在如何在laravel方面为此编写路由,我可以在其中分离id,gsID,来自url的解密等变量,并可以发送到控制器用于该路由的函数?
答案 0 :(得分:3)
只需将GET
路线写到approveRequest
:
Route::get('approveRequest', 'ApproveController@approve');
因为您使用的是网址参数,所以您只需在approve()
函数中获取这些参数
public function approve(Request $request)
{
$id = $request->id;
$gsID = $request->get('gsID');
.... and so on for all your variables.
}
使用这种方法,参数的顺序无关紧要。
答案 1 :(得分:0)
有很多方法可以做到这一点。
方法1
如果你制作如下网址:
<a href="http://localhost/travel/tr/approveRequest/<?=$Encoded_travelRq_id?>/<?=$Encoded_emp_gslab_id?>/<?=$Encoded_iv?>">Approve</a>;
您可以使用如下参数制作路线。
Route::get('approveRequest/{par1}/{par2}/{par3}', 'ApproveController@approve');
在你的函数中获取相应的参数如下:
public function approve($par1,$par2,$par3,)
{
$id = $par1;
$gsID = $par2;
.... and so on for all your variables.
}
方法2使用请求方法:
如果您的网址如下:
<a href="http://localhost/travel/tr/approveRequest?id=<?=$Encoded_travelRq_id?>&gsID<?=$Encoded_emp_gslab_id?>&decrypt<?=$Encoded_iv?>/">Approve</a>;
然后定义Route Like:
Route::post('approveRequest', 'ApproveController@approve');
然后在您的控制器功能中获得如下参数:
在控制器类
中的命名空间后使用Request namespace App\Http\Controllers;
use Illuminate\Http\Request;
class SomeClassController extends Controller {
public function approve(Request $request)
{
$id = $request->id;
$gsID = $request->get('gsID');
.... and so on for all your variables.
}
}
答案 2 :(得分:0)
通常我会用两种方式:
1º方式:
路线:
Route::get('approveRequest', 'ApproveController@approve');
控制器:
public function approve (Request $request) {
$var1 = $request->input('var1');
$var2 = $request->input('var2');
(...) do something with $var1 and $var2
}
2º方式:
路线:
Route::get('approveRequest/{var1}/{var2}', 'ApproveController@approve');
控制器:
public function approve ($var1, $var2) {
(...) do something with $var1 and $var2: they already have a instance
}
祝你好运!我希望有用。
答案 3 :(得分:0)
我使用了 3 种方法:
单向控制器
Route::get('post', 'PostController@store');
public function store(Request $request)
{
$name = $request->input('name');
// get your params
}
2路封闭式
Route::get('/', function (Request $request) {
$name = $request->name
//you can use this without input('name')
});
3- 在控制器中有参数
Route::get('comment/{var}/{var2}', 'CommentController@edit');
public function approve ($var, $var2) {
// use the variables
}