【发布时间】:2019-07-22 06:22:12
【问题描述】:
我试图通过指定它们的关系(即外键和本地键)并使用 find(id) 将两个表连接在一起。从头开始,我使用了 where 和 get()。它没有给出同样的错误然后我注释掉 where 子句以使用 find($id)
"SQLSTATE[23000]: Integrity constraint violation: 1052 Column 'id' in where clause is ambiguous (SQL: select `votes`.`flavour`, `users`.`email` from `votes` inner join `users` on `votes`.`user_id` = `users`.`id` and `id` = 1 limit 1)",
这是根据选择显示的功能 公共功能展示($id) {
$dbconnect = DB::table('votes')
->join('users', 'votes.user_id', '=', 'users.id')
//->where('votes.id', $id)
->select('votes.id','votes.date_of_birth','votes.voter_ip','votes.flavour', 'users.email')
->find($id);
$vote = auth()->user()->$dbconnect;
if (!$vote) {
return response()->json([
'success' => false,
'message' => 'Vote with id ' . $id . ' not found'
], 400);
}
return response()->json([
'success' => true,
'data' => $vote->toArray()
], 400);
}
全部显示: 在这个函数中我也应该使用 join,但我只使用了准确显示的 votes 表 我需要在 votes.user_id = users.id 上加入 votes 和 users 表
public function index()
{
$votes = auth()->user()->votes;
return response()->json([
'success' => true,
'data' => $votes
]);
}
谢谢
【问题讨论】: