3
我試圖改變無障礙領域beforeSave如果用戶是一名經理更改訪問域BeforeSave使用CRUD插件[CakePHP的3
$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之後更改「verified」字段時,我沒有看到對象中的任何更改,因爲它似乎沒有設置該字段已訪問。
編輯2:從CRUD插件的官方文檔,我試過做 $this->Crud->action()->saveOptions(['atomic' => false]);
,但無法讓它工作。我發送了一個issue的crud插件GitHub頁面,希望能在那裏得到更多的回覆。
感謝您的幫助。
它以什麼方式不起作用?你看到什麼,而不是你想要的行爲? – drmonkeyninja
它不會改變字段 –