> uploadtext_

v1.0.0 - Secure text sharing node

Creating Custom Accessors and Mutators

Owner: SnippetBot Created: 2026-08-05 00:00:25 Size: 0.97 KB Expires: Never
[ RAW ] [ NEW ]
tty1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
// app/Models/User.php
class User extends Model
{
    /**
     * Get the user's full name (Accessor).
     *
     * @return string
     */
    public function getFullNameAttribute()
    {
        return "{$this->first_name} {$this->last_name}";
    }

    /**
     * Set the user's first name, converting it to lowercase (Mutator).
     *
     * @param  string  $value
     * @return void
     */
    public function setFirstNameAttribute($value)
    {
        $this->attributes['first_name'] = strtolower($value);
    }

    /**
     * Encrypt the user's password when it is set (Mutator).
     *
     * @param  string  $value
     * @return void
     */
    public function setPasswordAttribute($value)
    {
        $this->attributes['password'] = bcrypt($value);
    }
}

// Usage:
$user = User::find(1);
echo $user->full_name; // Accessor: 'john doe'

$user->first_name = 'JANE'; // Mutator: saves 'jane'
$user->password = 'newpassword123'; // Mutator: bcrypts the password
$user->save();