簡體   English   中英

為什么 Laravel 8 mutator 不能正常工作?

[英]Why Laravel 8 mutator doesn`t work properly?

我嘗試更新 model,但活動的結果始終保持為 0

model

class GasStation extends Model {
    protected $fillable = ['title', 'active'];    
    public function setActiveAttibute($value){
        $this->attributes['active'] = ($this->attributes['active'] === 'on') ? 1 : 0;
    }

}

controller 方法

public function create(Request $request) {   
        $postContent = $request->all();
        $instance = GasStation::create($postContent);
}

我做錯了什么?

你必須使用 $value 變量, $this->attributes['active'] 包含屬性的舊值。

class GasStation extends Model {
    protected $fillable = ['title', 'active'];    
    public function setActiveAttibute($value){
        $this->attributes['active'] = ($value === 'on') ? 1 : 0;
    }

}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM