tp5模型修改器不起作用

使用thinkphp5.0框架開發個人網站漫島時,在模型中進行數據庫的寫入時發現修改器並沒有起到任何作用,閱讀官方文檔也沒找到對應說明,最後在評論區找到解決方案,因此記錄:

開始我在模型存儲數據時使用的如下方式:

public function saveTag()
{
	$a = new Tag;
	$a->data(["label"=>["標籤1","標籤2","標籤3"]]);
	$a->save();
}

//將標籤數組分割爲字符串存儲
protected function setLabelAttr($label)
{
    return implode(',', $label);
}

結果並沒有觸發修改器,存儲進表裏的數據是原始的數組。
解決方案如下:

$a = new Tag;
//給data方法傳入第二個參數,true
$a->data(["label"=>["標籤1","標籤2","標籤3"]],true);
$a->save();

就一個參數,問題就被解決了~~
特別說明:針對的是模型中使用data方法時喔!
每天都能學習到新知識的感覺真好啊,就是沒工資哈哈哈哈!
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章