getOriginal()在laravel 8中不起作用

getOriginal()在laravel 8中不起作用,laravel,Laravel,下面是我雄辩的模型 namespace App\Models; use App\Models\BaseModel as Model; use Illuminate\Support\Facades\Storage; class Banner extends Model { protected $table='banners'; protected $fillable=['image','isactive','type']; protected $hidden = ['created_at',

下面是我雄辩的模型

namespace App\Models;

use App\Models\BaseModel as Model;
use Illuminate\Support\Facades\Storage;

class Banner extends Model
{
protected $table='banners';
protected $fillable=['image','isactive','type'];

protected $hidden = ['created_at','deleted_at','updated_at'];

public function getImageAttribute($value){
    if($value)
        return Storage::url($value);
    return null;
}
}
我正在使用tinker命令:

App\Models\Banner::find(2)->getOriginal('image'))


它给出的是图像属性的accesor值,而不是原始值

您可能希望
getRawOriginal
不使用访问器

$banner = Banner::findOrFail(2);
$image = $banner->getRawOriginal('image');
// or from the attributes
$image = $banner->getAttributes()['image'] ?? null;

您可能希望
getRawOriginal
不使用访问器

$banner = Banner::findOrFail(2);
$image = $banner->getRawOriginal('image');
// or from the attributes
$image = $banner->getAttributes()['image'] ?? null;

Laravel 7.x更改getRawOriginal()而不是getOriginal()

$model->getOriginal()方法现在将考虑任何类型转换和 在模型上定义的变体。以前,此方法返回 取消广播,原始属性。如果要继续检索 如果是原始值,则可以使用getRawOriginal方法


请参阅:

Laravel 7.x更改getRawOriginal()而不是getOriginal()

$model->getOriginal()方法现在将考虑任何类型转换和 在模型上定义的变体。以前,此方法返回 取消广播,原始属性。如果要继续检索 如果是原始值,则可以使用getRawOriginal方法


请参阅:

谢谢,它很有用。我只是好奇地想知道,在我以前的Laravel5.8项目中,6 getOriginal()工作得很好。但在拉雷维尔8号,情况并非如此。这是最新版本的更改吗?@pks11它是用Laravel 7更改的,下面是升级指南中提到的更改。谢谢,它很有用。我只是好奇地想知道,在我以前的Laravel5.8项目中,6 getOriginal()工作得很好。但在拉雷维尔8号,情况并非如此。这是最新版本的更改吗?@pks11它是用Laravel 7更改的,下面是升级指南中提到此更改的部分。