...
->when(request('site_id', false), function ($q, $sites) {
$q->whereIn('site_id', $sites); // не работает
})
->when(request('href', false), function ($q, $search) {
$q->where('href', 'like', "%$search%");// работает
}) ...
if($sites) {
$query->whereIn('site_id', $sites); // работает
}