dth62818 2012-12-21 20:55
浏览 13
已采纳

Yii禁用一个Controller的模型行为

Im using a behavior(DateTimeI18NBehavior) in Users.php model, but specifically in a controller (ApiController.php) I would like to disable it.


Model - Users.php:

public function behaviors()
{
    return array(
        'datetimeI18NBehavior'=>array(
            'class' => 'ext.DateTimeI18NBehavior',
        ),
    );
}

I know that I can it disable with:

$model->disableBehavior('datetimeI18NBehavior');

But how to disable to entire Controller?

  • 写回答

1条回答 默认 最新

  • drrrdo0802 2012-12-21 21:10
    关注

    Not sure, but maybe this would work:

    class ApiController extends CController
    {
        function init()
        {
            Users::model()->disableBehavior('datetimeI18NBehavior');
        }
    }
    

    Or you can try to add some logic in your model:

    function behaviors()
    {
        if (Yii::app()->controller->uniqueId != 'api') {
            return parent::behaviors();
        }
        return array(
            'datetimeI18NBehavior'=>array(
                'class' => 'ext.DateTimeI18NBehavior',
            ),
        );
    }
    

    Both ways aren't perfect though in my opinion.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 chaquopy python 安卓
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 有没有帮写代码做实验仿真的
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥30 vmware exsi重置后登不上
  • ¥15 易盾点选的cb参数怎么解啊
  • ¥15 MATLAB运行显示错误,如何解决?
  • ¥15 c++头文件不能识别CDialog
  • ¥15 Excel发现不可读取的内容
  • ¥15 关于#stm32#的问题:CANOpen的PDO同步传输问题