我在控制器中使用Laravel 5.4和加密/解密方法来保护用户数据。
$ p-content未加密时出错。我希望用户选择他们想要加密或不加密内容的天气。这意味着我需要检测内容或使用此选择将另一列添加到我的数据库中。理想情况下,我只想检查内容,看它是否加密。
public function index()
{
$posts = Post::orderBy('id', 'desc')->get();
foreach ($posts as $p) {
**$p->content = decrypt($p->content);**
}
return view('posts.index', ['posts' => $posts]);
}
答案 0 :(得分:2)
您可以在表格中添加一个标记,例如is_encrypted
。
或者您可以捕获decrypt
方法抛出的异常:
foreach ($posts as $p) {
try {
$p->content = decrypt($p->content);
} catch(\RuntimeException $e) {
// Content is not encrypted.
}
}