1

ユーザー、グループ、および users_groups があります。これは hasAndBelongsToMany 関係です。すべてが適切に関連付けられていますが、存在しない users テーブルで group_id を見つけようとしているため、ログイン時に SQL エラーが発生します。

関連付けは、users_groups テーブルを通じて行われます。誰かがこの問題に遭遇したことがありますか?

users_groups に参加し、users テーブルで group_id を探す必要はありません。

エラー:

SQLSTATE [42S22]: 列が見つかりません: 1054 不明な列 'User.group_id' が 'on 句' にあります

SQL クエリ:

SELECT `User`.`id`, `User`.`username`, `User`.`password`, `User`.`email`, `User`.`is_active`, `User`.`created`, `User`.`modified`, `Group`.`id`, `Group`.`name`, `Group`.`description`, `Group`.`active`, `Group`.`created`, `Group`.`modified`, `Group`.`parent_id` FROM `seotools`.`sa_users` AS `User` LEFT JOIN `seotools`.`sa_groups` AS `Group` ON (`User`.`group_id` = `Group`.`id`) WHERE `User`.`username` = 'mhardy' AND `User`.`password` = 'f30d110154184d05759871e97bfec0a72e8c317a' LIMIT 1
4

1 に答える 1

0

HABTM テーブルを「groups_users」に変更して、ケーキの規則に従います

この新しい結合テーブルの名前には、関連する両方のモデルの名前をアルファベット順に含め、アンダースコア ( _ ) で区切る必要があります。テーブルの内容は 2 つのフィールドである必要があり、各外部キー (整数である必要があります) は、関連するモデルの両方の主キーを指しています。

または、ユーザーおよびグループ モデルでオーバーライド オプションを使用して、テーブル名を「users_groups」のままにします。

于 2013-04-11T21:09:57.987 に答える