whereIn 的第二个参数是错误的。您必须输入值数组,而不是带有字符串的数组(['1,2,18'] 应该是 [1,2,18])。
您可以使用explode()方法。
$rp = explode('-',$id); $products = DB::table('duan') ->whereIn('MaDA', $rp) ->get();