Ответ 1
это правильный способ
// that skips mutators
$model->getOriginal('name');
https://laravel.com/api/5.2/Illuminate/Database/Eloquent/Model.html#method_getOriginal
Изменить: Осторожно!
Как объяснил Максим Чирняк в комментариях, getOriginal()
не просто пропускает мутаторы, но также возвращает "исходное" значение поля во время чтения объекта из базы данных. Поэтому, если вы с тех пор изменили свойство модели, это не вернет ваше измененное значение, оно все равно вернет исходное значение. Более последовательный и надежный способ получить не-мутированное значение из класса модели состоит в том, чтобы извлечь его из свойства attributes
следующим образом:
$this->attributes['name']
Но имейте в виду, что attributes
является защищенным свойством, поэтому вы не можете делать это за пределами класса модели. В этом случае вы можете использовать
$model->getAttributes()['name']`
или метод Максима из его комментария ниже.