1

我有用户、组和 users_groups。这是一个 hasAndBelongsToMany 关系。一切都是关联的,但是在登录时会出现 SQL 错误,因为它试图在用户表中查找不存在的 group_id。

关联是通过 users_groups 表进行的。有没有人遇到过这个问题?

它应该加入 users_groups 而不是在 users 表中查找 group_id。

错误:

SQLSTATE [42S22]:未找到列:1054 'on 子句'中的未知列 'User.group_id'

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”,以遵循蛋糕约定

这个新连接表的名称需要包含所涉及的两个模型的名称,按字母顺序排列,并用下划线 (_) 分隔。表的内容应该是两个字段,每个外键(应该是整数)指向所涉及模型的两个主键

或者使用用户和组模型中的覆盖选项将表名保持为“users_groups”。

于 2013-04-11T21:09:57.987 回答