我有一個名為 Secret 的對象,我希望在其中對“secret_title”和“secret_text”這兩個字段進行加密。當用戶登錄時,我想在表格中顯示他們的秘密列表。我在 Secret 類中使用 setter 和 getter 來加密和解密信息,但是當我在視圖中打印 secret_title 和 secret_text 時,它仍然是加密的。這是我的對象:<?phpnamespace App;use Illuminate\Database\Eloquent\Model;use Illuminate\Support\Facades\Crypt;use Illuminate\Contracts\Encryption;class Secret extends Model{ protected $fillable = [ 'user_id', 'secret_title', 'secret_text', ]; public function getSecretTitleAttribute() { return Crypt::decrypt($this->attributes['secret_title']); } public function getSecretTextAttribute() { return Crypt::decrypt($this->attributes['secret_text']); } public function setSecretTitleAttribute($value) { $this->attributes['secret_title'] = Crypt::encrypt($value); } public function setSecretTextAttribute($value) { $this->attributes['secret_text'] = Crypt::encrypt($value); }}在我使用的控制器中:public function showUserSecrets() { $user_id = Auth::id(); $secrets = DB::table('secrets')->where('user_id', $user_id)->get(); return view('secret.show', compact('secrets')); }在我看來,我有: @foreach ($secrets as $secret) <tr> <td>{{ $secret->id }}</td> <td>{{ $secret->secret_title }}</td> <td>{{ $secret->created_at }}</td> <td><a href="{{ route('secret.show', $secret->id) }}" class="button">View</a></td> </tr> @endforeach
Laravel 加密和顯示
慕尼黑5688855
2021-06-16 13:02:57