首页 > 解决方案 > Eloquent 的 First 或 Create 在检查记录是否存在之前不考虑 mutator?

问题描述

想象一下,我有以下模型:

class Link extends Model
{
    protected $fillable = ['path', 'secret'];

    public function setSecretAttribute($value)
    {
        $this->attributes['secret'] = sha1($value);
    }
}

以及以下代码:

$link = Link::firstOrCreate(['path' => $someValue, 'secret' => $anotherValue]);

我的代码是否有问题或“firstOrCreate”在检查注册表是否已经存在时忽略了mutator?如果它忽略,我只需将 sha1 加密添加到“anotherValue”即可获得我期望的行为。但我的问题是,这不是多余的吗?

标签: laravel

解决方案


推荐阅读