
Encrypting data in the database using Eloquent
7 Jun 2022 #laravel #eloquent #encryption
If you want to put "sensitive" data in our database then you can use Crypt Facade and handle these using accessors and mutators.
namespace App\Models; use Illuminate\Database\Eloquent\Model;use Illuminate\Database\Eloquent\Casts\Attribute;use Illuminate\Support\Facades\Crypt; class CloudProvider extends Model{ protected function apiToken(): Attribute { return Attribute::make( set: fn ($value) => Crypt::encryptString($value), get: fn ($value) => Crypt::decryptString($value), ); }}
Thanks to @thkafadaris for the idea.