Laravel 10 - mutators和accessors不工作

gzszwxb4  于 2023-06-07  发布在  其他
关注(0)|答案(1)|浏览(136)

我对laravel 10中的访问器和修改器有问题。在我的第一个项目中,他们工作,但在第二个,他们没有。

型号

protected function name(): Attribute
{
    return Attribute::make(
        get: fn(string $value) => strtoupper($value),
        set: fn(string $value) => strtolower($value),
    );
}

控制器

public function store(StoreRoleRequest $request)
{
    Role::create([
        'name' => $request->name,
        'guard_name' => "web",
    ]);
    
    return $this->index();
}

store函数和index函数可以工作,但mutator和accessor不会被触发。我验证了表字段名称,并尝试在没有存储请求的情况下存储它。

h6my8fg2

h6my8fg21#

请尝试使用Laravel 10

use Illuminate\Database\Eloquent\Casts\Attribute;

public function categoryImage(): Attribute
{
    return new Attribute(
        
        get: fn ($value) => URL::to('/').'/'.$value
    );
}

相关问题