laravel mutator and accessor code example
Example 1: get original name without mutant model laravel
Inside your model file:
1. In laravel older versions (5.x and older):
$this->getOriginal('name');
2. In laravel latest versions (6.x and above):
$model->getRawOriginal('name');
Alternative methods for getting value with mutator:
1. $this->attributes['name']
2. $this->getAttributes()['name']`
Example 2: laravel mutators
class Video extends Model
{
public function setDurationInMinutesAttribute($value)
{
$this->attributes['duration_in_seconds'] = $value * 60;
}
public function setDurationInHoursAttribute($value)
{
$this->attributes['duration_in_seconds'] = $value * 60 * 60;
}
}
Example 3: $this- attribute laravel
To define a mutator, define a setFooAttribute method on your model where Foo
is the "studly" cased name of the column you wish to access. So, again,
lets define a mutator for the first_name attribute. This mutator will
be automatically called when we attempt to set the value of the first_name
attribute on the model:
class User extends Model
{
public function setFirstNameAttribute($value)
{
$this->attributes['first_name'] = strtolower($value);
}
}
Example 4: get the value without setter method laravel
Methods you can try :
1. $model->getAttributes()['name'];
2. $model->getOriginal('name');
3. $this->attributes['name'];