Encrypts your model attributes in the background so that they are encrypted in DB.
composer require paulhenri-l/laravel-encryptable
Since encryption makes the values longer think about changing your column type to text.
<?php
namespace App\Models;
class Person extends Illuminate\Database\Eloquent\Model
{
use PaulhenriL\LaravelEncryptable\Encryptable;
protected $encryptedFields = [
'lastname',
'email'
];
}
$person = new Person([
'lastname' => 'I will be encrypted',
'email' => 'I will be encrypted too',
]);
echo $person->lastname; // output will not be encrypted
$person->lastname = 'I will be encryted too';