2016-01-29 37 views
1

我已經使用BlameableBehavior,但在我的一些控制器中,我想手動設置用戶創建的值,但無法工作。如何手動添加自定義數據到行爲

public function behaviors() 
{ 
    return [ 
     BlameableBehavior::className(), 
    ]; 
} 

這不行。

$model->createdBy = 1; 
$model->save(); 

它嘗試使用BlameableBehavior

我該如何手動添加它。 謝謝。

+0

參見[BlameableBehavior文檔(http://www.yiiframework.com/doc- 2.0/yii-behaviors-blameablebehavior.html)和http://code.tutsplus.com/tutorials/how-to-program-with-yii2-blameable-behaviors--cms-23287。 –

+0

BlameableBehavior的功能是設置createdBy AUTOMATICALLY。你能描述一下爲什麼你想手動設置它嗎? – slbteam08

回答

0

嘗試使用名字的行爲,並保存模型前卸下它:

public function behaviors() 
{ 
    return [ 
     'blameable' => BlameableBehavior::className(), 
    ]; 
} 

然後:

$model->detachBehavior('blameable'); 
$model->createdBy = 1; 
$model->save(); 
相關問題