$ids = ApiUser::with('cards')
->where('site_id', $site->id)
->where(function ($q) use ($site, $query) {
$q
->where('username', 'like', "%{$query}%")
->orWhere('email', 'like', "%{$query}%")
->orWhere('unique_id', 'like', "%{$query}%")
->orWhereHas('cards', function($qu) use ($site, $query) {
$qu->where('card_type_id', $site->main_card_type_id)
->where('original_id', 'like', "%{$query}%");
});
})
->pluck('id')
->toArray();