2
我有一個模型的屬性,它應該從數據庫中加載後進行修改。Yii2加載方法後如何修改模型屬性? (如afterFind方法)
我可以擴展afterFind方法,它可以將varchar值轉換爲php數組。所以它可以找到。
但是,該模型被加載時,我不知道如何到VARCHAR轉換爲PHP數組。
我與規則嘗試,但沒有作品:
[['languages'], 'each', 'rule' => ['string']],
或這一個
[['languages'], 'safe'],
所以這一個工程一個afterFind:
public function afterFind()
{
$this->languages = $this->convertToPHPArray($this->languages);
parent::afterFind();
}
通過我都試過的方式擴展init或__constru構造函數方法與這次談話,但沒有成功,之後負載方法的語言屬性仍然是一個字符串,而不是一個PHP數組。
爲什麼沒有一個'afterLoad'事件[yii2/issues/4615](https://github.com/yiisoft/yii2/issues/4615),閱讀整個主題可能會提供一些想法 – Alex