我需要将PhpBB与CakePHP集成。在PhpBB中,有没有主键的表phpbb_user_group:
group_id | user_id | group_leader | user_pending
创建新用户时,我需要向该表添加新记录,但是CakePHP给我以下错误:
Cannot insert row in "phpbb_user_group" table, it has no primary key.
我可以将具有主键的列添加到表中,但是我不愿意。更新PhpBB总是很麻烦,而且我预见到将来会出现问题,所以我宁愿不修改数据库结构。
是否可以在CakePHP中将没有主键的新记录插入表中?
答案 0 :(得分:1)
您必须“手动”创建和运行INSERT
语句,例如使用查询生成器,您将无法使用ORM的保存功能,因为它依赖于存在的主键。
$statement = $Table
->query()
->insert([
'group_id',
'user_id',
'group_leader',
'user_pending'
])
->values([
'group_id' => $groupId,
'user_id' => $userId,
'group_leader' => $groupLeader,
'user_pending' => $userPending
])
->execute();
$success = $statement->rowCount() === 1;
$statement->closeCursor();
另请参见