php - 查询 Laravel 选择 WhereIn 数组

标签 php laravel eloquent

这个查询不能正常工作,它只显示 1 行

 $data = Post::select('id', 'name')
   ->whereIn('id', [$order])
   ->orderByRaw(\DB::raw("FIELD(id, $order)"))
   ->get();

但这工作正常,它显示所有行

  $data = Post::select('id', 'name')
    ->whereIn('id', [1,2,3])
    ->orderByRaw(\DB::raw("FIELD(id, $order)"))
    ->get();

谢谢!

最佳答案

您的查询在这里:-

$data = Post::select('id', 'name')
  ->whereIn('id', $order)
  ->orderByRaw(\DB::raw("FIELD(id, ".implode(",",$order).")"))
  ->get();

$order 中删除 []

对于 WhereIn 条件,第二个参数应该是一个数组。所以 $order 应该是

$order = [1,2,3,4]

关于php - 查询 Laravel 选择 WhereIn 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38159729/

相关文章:

php - MySQL DUMP 作为 CSV

php - Laravel > Eloquent 批量加载

mysql - Laravel 迁移 - 违反完整性约束 : 1452 Cannot add or update a child row: a foreign key constraint fails

laravel - 如何优化 Laravel 超大数据的导入流程?

validation - Laravel 验证器 - 违反完整性约束

php - Laravel Eloquent 查询从另一个模型获取用户

Laravel 在 Eloquent 中使用 with() 方法时出错

php - 将 jQuery $.post 返回数据设置为 JavaScript 变量

php - 内部动态 JavaScript

php - 最后打印页中的页脚 MPDF