我正在使用yii poll扩展。我将sql文件复制到我的数据库中。它工作正常,直到我投票。但是,当我点击投票时,它显示命令错误。
即: -
CDbCommand无法执行SQL语句:SQLSTATE [23000]:完整性约束违规:1452无法添加或更新子行:外键约束失败(database
。poll_vote
,CONSTRAINT vote_user
FOREIGN KEY(user_id
)REFERENCES users
(uid
)ON DELETE CASCADE ON UPDATE CASCADE)。执行的SQL语句是:INSERT INTO poll_vote
(user_id
,ip_address
,timestamp
,choice_id
,poll_id
)VALUES(:yp0,: yp1,:yp2,:yp3,:yp4);
我没有实现这部分文档。 1.使用Yii :: app()返回的整数ID设置用户活动记录 - > user-> id。*
任何人都可以帮助wt这意味着什么。
我在同一个数据库中有uid列的用户表。一些我怎么能不明白这一点。我怎样才能避免约束失败。对不起我是yii的新手.. 任何帮助将不胜感激。 谢谢。
答案 0 :(得分:0)
它失败了,因为正如你所说,你跳过了“使用Yii :: app()返回的整数ID设置用户活动记录 - > user-> id。*”
“完整性约束违规”声明外键约束失败,并继续说外键是user_id,您声明从未创建过。
看起来扩展程序正在跟踪使用user_id投票的人,并且由于您尚未创建ID,因此会收到错误。
有关如何修改Y ii:app() - >用户的信息,请参阅this page