Как в matchCallback передать используемую модель?

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
Аватара пользователя
Sergalas
Сообщения: 626
Зарегистрирован: 2015.10.15, 12:39

Как в matchCallback передать используемую модель?

Сообщение Sergalas »

Есть необходимость разрешить редактирование поста только пользователем с ролью manager да и ещё авторами поста id автора поста хранится в ячейке autor_id
пытаюсь организовать это так в контроллере:

Код: Выделить всё

public function behaviors()
    {
    'access' => [
        'class' => AccessControl::className(),
        'ruleConfig' => [
            'class' => AccessRule::className(),
        ],
        'rules' => [
            [
                'actions' => ['update'],
                'allow' => true,
                'roles' => ['manager'],
                'matchCallback' => function ($rule, $action,$model) {
                    return Yii::$app->user->identity->id==$model->autor_id;}
            ],
        ]
    ]    
}

Доступ я не получаю, как вы понимаете, и понимаю, что делаю, что то не то. Не подскажите как правильно?
Ответить