postsテーブルからidが1,2,3のレコードを取得するクエリです。
固定で入れているのでこれは問題ないです。

DB::select("select * from posts where id in (1,2,3)");

変数を作りプリペアドステートメントで渡してみます。

$ids = '1,2,3';
DB::select("select * from posts where id in (?)", [$ids]);

結果は最初の1しか検索されないようです。

where inの部分は?を繋げることで想定通りの結果になります。

$ids = [1,2,3];
DB::select("select * from posts where id in (?, ? ,?)", $ids);

ただ配列の数は変動にしたいですね。ということでこんな感じです。

$ids = [1,2,5];
$placeholders = implode(',', array_fill(0, count($ids), '?'));
DB::select("select * from posts where id in ($placeholders)", $ids);