查询Laravel选择WhereIn数组

时间:2016-07-02 11:39:35

标签: 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();

谢谢!

2 个答案:

答案 0 :(得分:19)

您的查询就在这里: -

[]

$order删除WhereIn

对于$order条件,第二个参数应该是一个数组。所以$order = [1,2,3,4] 应该是

rdd.toDF().select("_1.*", "_2.*")
  .write
  .format("parquet")
  .mode(SaveMode.Overwrite)
  .saveAsTable("MyTable")

答案 1 :(得分:2)

如果你的$order是一个数组,我认为你应该这样做

whereIn('id', $order)代替whereIn('id', [$order])

P.S。在官方文档中提到第二个参数应该是一个数组:

$users = DB::table('users')
             ->whereIn('id', [1, 2, 3])
             ->get();