我有一個roles
表。看起來是這樣的:Cakephp 3創建條目,設置自定義主字段
CREATE TABLE `roles` (
`role` varchar(20) COLLATE utf8_unicode_ci NOT NULL,
`permissions` longtext COLLATE utf8_unicode_ci
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
ALTER TABLE `roles`
ADD PRIMARY KEY (`role`),
ADD UNIQUE KEY `role` (`role`);
現在蛋糕是不承認它作爲一個「正常」的領域,所以它沒有給出任何輸入欄。
我固定我的這個觀點:
// src/Template/Admin/Roles/add.ctp
echo $this->Form->control('name', ['class' => 'form-control']);
現在在我的控制器解決方法:
// src/Controller/Admin/RolesController.ctp
$roleData = $this->request->getData();
$roleData['role'] = strtolower($roleData['name']);
unset($roleData['name']);
$role = $this->Roles->patchEntity($role, $roleData);
if ($this->Roles->save($role)) {
$this->Flash->success(__('The role has been saved.'));
}
它節省的條目,但數據庫行role
中不填寫任何東西。我錯過了什麼嗎?
你是否檢查Entity文件夾中的RoleEntity文件,是否可以訪問! –
當您需要重新命名角色時,您會做什麼?如果有外鍵約束,你會怎麼做?順便說一句,主鍵必須是唯一的定義。 – ndm