我目前正在尝试从包含 id 和 name 列的 X 表中获取数据。我在该项目中使用 Laravel,并进入其中以从 X 表获取多个数据。它工作完美,当我发送请求数据为 (1,2,3,4) 时,我得到了预期的响应。但是,当我以 (1,2,3,4,2) 形式发送请求时,它为 id 1,2,3,4 提供响应,但它不会再次检索 id 2 的重复数据。 以下是我的查询
X::whereIn('id',$request->XIds)->get()->toArray();
假设 $request->XIds 是 [1,2,3,4,2].. 因为 2 是重复的。 我的问题是如何通过查询获取重复数据,以便当我发送具有重复条目的请求时,我可以获得具有该重复数据的响应。
最佳答案
好吧,如果您愿意,您可以正确投影数据:
$data = X::whereIn('id',$request->XIds)->get()->getDictionary();
return collect($request->XIds)->map(function ($id) use ($data) {
return $data->get($id)->toArray();
})->all();
但是,我建议您尝试稍微检查一下您的逻辑,因为多次发送相同的数据没有客观的优势。
关于php - 从 whereIn 获取重复项 - Laravel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55003263/