web-dev-qa-db-ja.com

雄弁なモデルの元の属性を取得Laravel 5.1

GetFooAttributeメソッドを使用して表示前にフォーマットするFoo属性がありますが、場所によっては、元の属性が必要な場合があります。

15
Mohamed Gamal

V4.2以降から特定の属性の元の値を取得する:

$originalFoo = $model->getOriginal('foo');

23
Bower

コードの大部分でmutatorを使用したいが、元の値にアクセスしたい場合は、getAttributes()メソッドを使用してすべての属性をフェッチすることで実行できますあなたのモデルそしてそこから値をフェッチします、例えば:

$originalFoo = $model->getAttributes()['foo'];
9
jedrzej.kurylo

私は5.3を使用していますが、これには$model->getOriginal()['foo']を使用します

7
Dewan159

laravel 5の場合、次も使用できます。

$model->getOriginal('foo')

@bowerへのクレジット

5
Ammad Khalid

また、Laravelモデルクラスが__set__getのマジックメソッドを上書きするため、original属性を動的に、つまり$model->original

参照 https://github.com/laravel/framework/blob/5.1/src/Illuminate/Database/Eloquent/Model.php