我有Foo属性,使用getFooAttribute方法在显示前格式化它,但在某些地方,我需要原始属性。那么我该如何做呢?
Foo
getFooAttribute
jogvjijk1#
从v4.2开始获取特定属性的原始值:$originalFoo = $model->getOriginal('foo');
$originalFoo = $model->getOriginal('foo');
hlswsv352#
如果你想在大多数代码中使用mutator,但有时又想访问原始值,你可以通过使用模型的**getAttributes()**方法获取所有属性,然后从那里获取值来实现,例如:
$originalFoo = $model->getAttributes()['foo'];
mitkmikd3#
如果您希望直接从数据库中取出原始字段,跳过mutator,则
$mode->getRawOriginal('attribute')
$model->getOriginal()将为您提供mutator值而不是您想要的原始数据。参见https://laravel.com/api/7.x/Illuminate/Database/Eloquent/Concerns/HasAttributes.html#method_getRawOriginal
$model->getOriginal()
lfapxunr4#
拉瑞维尔7号和Symfony 5号
$model->getRawOriginal()
影响可能性:低$model->getOriginal()方法现在将考虑模型上定义的任何转换和赋值函数。以前,此方法返回未转换的原始属性。如果要继续检索原始的未转换值,可以改用getRawOriginal方法。
getRawOriginal
qlckcl4x5#
我使用的是5.3,为此我使用$model->getOriginal()['foo']
$model->getOriginal()['foo']
nqwrtyyt6#
对于laravel 5,我们还可以用途:
$model->getOriginal('foo')
感谢@bower
xmq68pz97#
对我有用
$newProduct = $product[0]->getRawOriginal();
gstyhher8#
其实看起来上面都是正确的,只是看看这是否在数组key [0]中例如:
$originalFoo = $model[0]->getRawOriginal('foo');
ssgvzors9#
值得一提的是,Laravel模型类覆盖了__set和__get的魔术方法,因此您还可以动态检索original属性,即$model->original。参见https://github.com/laravel/framework/blob/5.1/src/Illuminate/Database/Eloquent/Model.php
__set
__get
original
$model->original
9条答案
按热度按时间jogvjijk1#
从v4.2开始获取特定属性的原始值:
$originalFoo = $model->getOriginal('foo');
hlswsv352#
如果你想在大多数代码中使用mutator,但有时又想访问原始值,你可以通过使用模型的**getAttributes()**方法获取所有属性,然后从那里获取值来实现,例如:
mitkmikd3#
如果您希望直接从数据库中取出原始字段,跳过mutator,则
$model->getOriginal()
将为您提供mutator值而不是您想要的原始数据。参见https://laravel.com/api/7.x/Illuminate/Database/Eloquent/Concerns/HasAttributes.html#method_getRawOriginal
lfapxunr4#
拉瑞维尔7号和Symfony 5号
getOriginal方法
影响可能性:低
$model->getOriginal()
方法现在将考虑模型上定义的任何转换和赋值函数。以前,此方法返回未转换的原始属性。如果要继续检索原始的未转换值,可以改用getRawOriginal
方法。qlckcl4x5#
我使用的是5.3,为此我使用
$model->getOriginal()['foo']
nqwrtyyt6#
对于laravel 5,我们还可以用途:
感谢@bower
xmq68pz97#
对我有用
gstyhher8#
其实看起来上面都是正确的,只是看看这是否在数组key [0]中例如:
ssgvzors9#
值得一提的是,Laravel模型类覆盖了
__set
和__get
的魔术方法,因此您还可以动态检索original
属性,即$model->original
。参见https://github.com/laravel/framework/blob/5.1/src/Illuminate/Database/Eloquent/Model.php