Ваша база данных настроена на использование ограничений внешнего ключа?
простой пример:
Таблица
create table `groups`(
`id` int(10) unsigned not null auto_increment primary key,
`name` varchar(30) not null,
`colour` varchar(7) not null,
`created_at` datetime not null,
`updated_at` datetime not null
)engine=innodb;
create table `users`(
`id` int(10) unsigned not null auto_increment primary key,
`group_id` int(10) unsigned not null,
`permissions` varchar(255) not null default '{[u, r, d]}',
`created_at` datetime not null,
`updated_at` datetime not null,
index(group_id),
foreign key(group_id) references groups(id)
)engine=innodb;
Необработанный SQL
select g.name, u.permissions from users as u
left join groups as g
on g.id = u.group_id
where id=1
Как вы можете видеть, вы установили индекс group_id
в таблице пользователей,
затем установите его как наш внешний ключ и скажите, что он ссылается на groups
id.
требуется механизм innodb, и строки должны совпадать.
... надеюсь, что это имеет смысл