php - 从 whereIn 获取重复项 - Laravel

标签 php mysql laravel

我目前正在尝试从包含 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/

相关文章:

javascript - 何时何地不成功: value executes in jQuery Ajax method?( header 位置未更改)

php - 两种方式mysql数据库同步

php - MySQL 默认值未按预期工作

php - Laravel Sail 部署就绪了吗

php - 多次加载 Codeigniter 库

PHP 表单向 MySQL 数据库提交重复条目

php - jquery回调后将信息保存到数据库

mysql - 如何同时删除两个表中的记录

Laravel 4 方法不允许httpException

php - 如何限制从 Eloquent 查询中检索的信息并阻止其崩溃?