php - Laravel Eloquent:违反完整性约束:1052 列“id”在 where 子句不明确
问题描述
我正在建立一个网站,许多成员可以加入许多团体。
//User.php
public function groups()
{
return $this->belongsToMany(Group::class, 'group_member', 'member_id', 'group_id');
}
从组 id 中检索相关成员的函数
//UserRepository.php
public function getRelatedMembersByGroupIds(array $groupIds)
{
$members = User::whereHas('groups', function ($query) use ($groupIds) {
return $query->whereIn('groups.id', $groupIds);
});
return $members->get();
}
正在从 UserController 调用存储库
//UserController.php
public function getRelatedMembersByGroupIds(Request $request)
{
$groupIds = $request->get('group_ids');
$members = $this->userRepository->getRelatedMembersByGroupIds($groupIds);
$responses = [
'status' => 'success',
'groupRelatedMembers' => $members
];
return response()->json($responses);
}
它返回
SQLSTATE [23000]:违反完整性约束:1052 where 子句中的列 'id' 不明确(SQL:从存在的用户中选择用户。* 从存在的用户中选择*从组内部加入 group_member 在 groups.id = group_member.group_id where users.id = group_member.member_id and groups.id in (1) and groups.deleted_at is null and id = 1))
解决方案
在最后一个 where 子句中,有“ id=1 ”。您需要将其表示为“ table_name .id=1”。
推荐阅读
- python - 在 Python 中将图形对象附加到 networkx 列表的问题
- python - 进行反箱考克斯变换时获取 *nan* 值
- javascript - 在特定位置写入 JSON 数据
- vue.js - Storybook 和 Vuetify 的未知自定义元素
- codeigniter - maykinmedia / dual-listbox 表单提交后无值传递
- mongodb - 对于对象数组,我应该创建多键索引吗?
- r - 为什么需要将 R 中的用户定义的对比度作为权重的逆矩阵提供?
- php - 在 WooCommerce 单一产品页面上显示运输类别名称
- wordpress - 如何在 wordpress 块编辑器 Gutenberg 中启用大纲
- identityserver4 - 更新到 IdentityServer4 3.1.3 后,AccessToken 确实错过了关键受众