Laravel无法在控制器上解密加密的ID

时间:2019-05-20 06:51:31

标签: laravel

单击下面的刀片文件上的提交按钮后,我无法在控制器上解密加密的值。

控制器:

public function edit($id)
{      
  $encrypted_id = encrypt($id);

  return view('my.blade.edit', compact('encrypted_id'));
}

public function update(Request $request, $id)
{
  $decrypted_id = decrypt($id);

  dd($decrypted_id);
}

刀片:(my.blade.edit)

{{ Form::open(['route' => ['route.update', $encrypted_id ], 'method' => 'PATCH']) }}

{{ Form::button('Update', ['type' => 'submit', 'name' => 'update']) }}

{{ Form::close() }}

我期望dd();上有一个整数值,但是我仍然得到一个加密的字符串。

1 个答案:

答案 0 :(得分:1)

嗯,正如我已经在评论中所写的那样,首先并且简单的是检查预期的输出和确切的输出。

到目前为止,我们发现,发送给视图的值不等于update()方法中接收的值。

id被加密两次,但是在问题代码中我们看不到两个encrypt()调用。可能还有其他代码层正在实现这一目标。