Laravel whereIn查询不返回我需要的东西

时间:2017-06-27 18:29:00

标签: php laravel laravel-5.4

我有这个问题:

 $postsTags = DB::table('post_tag')->where('tag_id', $id)->get();

      if(count($postsTags) > 0) {
          // Pluck the ID's from a users topics
          $postIDs = $postsTags->pluck('post_id');
          dd($postIDs);
          $posts = Post::whereIn('id', [$postIDs])->get();
      } 

当我DD $ postIDs时,我明白了:

enter image description here

然后我做了我的whereIn查询,但问题是它只给了我一个结果,而不是它们的数组。

如果我这样做:

$postIDs[0]

我得到112,但我的结果应该是[111,112]。所以这不会起作用。

dd($postIDs->all());

的结果

enter image description here

1 个答案:

答案 0 :(得分:0)

正如@Angad Dubey所说,我必须这样做:

 $posts = Post::whereIn('id', $postIDs->all())->get();

这让我得到了我需要的结果。