Ваш вариант использования будет:
$ArrayCollectionOfActiveUsers = $customer->users->filter(function($user) {
return $user->getActive() === TRUE;
});
если вы добавите -> first (), вы получите только первую возвращенную запись, а это не то, что вам нужно.
@ Sjwdavies
Вам нужно поместить () вокруг переменной, которую вы передаете в USE. Вы также можете сократить, поскольку возвращение in_array уже логическое:
$member->getComments()->filter( function($entry) use ($idsToFilter) {
return in_array($entry->getId(), $idsToFilter);
});