0

yii poll 拡張機能を使用しています。SQLファイルを自分のデータベースにコピーしました。私が投票するまではうまくいきます。しかし、投票をクリックすると、コマンドエラーが表示されます。すなわち:- CDbCommand は SQL ステートメントの実行に失敗しました: SQLSTATE[23000]: 整合性制約違反: 1452 子行を追加または更新できません: 外部キー制約が失敗しました ( database. poll_vote, CONSTRAINT vote_userFOREIGN KEY ( user_id) REFERENCES users( uid) ON DELETE CASCADE ON UPDATEカスケード)。実行された SQL ステートメントは次のとおりです。 INSERT INTO poll_vote( user_id, ip_address, timestamp, choice_id, poll_id) VALUES (:yp0, :yp1, :yp2, :yp3, :yp4);

ドキュメントのこの部分を実装していません。1. Yii::app()->user->id.* によって返された整数 ID で User アクティブ レコードをセットアップします。

誰でも助けてもらえますか?

同じデータベースに uid 列を持つ users テーブルがあります。どういうわけかポイントを得ることができません。そして、どうすれば制約の失敗を回避できますか。申し訳ありませんが、yiiは初めてです..どんな助けでも大歓迎です。ありがとうございました。

4

1 に答える 1

0

あなたが言ったように、「Yii::app()->user->id.* によって返される整数 ID を持つユーザーアクティブレコードをセットアップする」をスキップしたため、失敗しています。

「整合性制約違反」は、外部キー制約が失敗したことを示しており、外部キーは作成したことがないと述べた user_id であると述べています。

Looks like the extension is keeping track of who voted using the user_id, and since you haven't created IDs, you get the error.

For information on how to modify Y ii:app()->user, see this page

于 2012-07-19T16:14:38.807 に答える