【发布时间】:2017-03-01 21:19:21
【问题描述】:
如果用户是经理,我正在尝试更改 beforeSave 的可访问字段
$this->Crud->on('beforeSave', function(Event $event) {
if($this->Auth->user('role') == 'Manager')
{
$this->Crud->action()->saveOptions(['accessibleFields' => ['verified' => true]]);
}
});
但它似乎不起作用,为什么?
编辑:澄清一下,我正在尝试通过我的 API 执行 PUT HTTP 请求并更改“已验证”字段的值。我可以在我的 entity.php 中更改我设置为可访问的每个字段就好了,但是当我尝试在上面的 beforeSave 之后更改“已验证”字段时,我看不到对象有任何变化,因为它似乎未设置该字段可访问。
编辑2:来自CRUD插件的官方文档,我试过做
$this->Crud->action()->saveOptions(['atomic' => false]); 但无法让它工作。我已经在 crud 插件 GitHub 页面上发送了issue,希望能在那里得到更多回复。
感谢您的帮助。
【问题讨论】:
-
在什么方面不起作用?你看到了什么而不是你想要的行为?
-
不会改变字段
标签: php cakephp cakephp-3.0 crud