Здесь не так много информации, но, скорее всего, возвращаемое значение из getUser () на самом деле не является массивом, поэтому whereIN () выдает ошибку.
Двойная проверкачто вы получаете массив из getUser ().Это немного неуклюже, но быстро ....
$val=getUser();
echo('Is array: ' . is_array($val));
Если это массив, вы получите
Is array: 1
и, если это не
Массив: 0
[Дополнительно, на основе комментариев ниже]
Поскольку возвращаемое значение из getUser является строкой, вам нужно привести ее к массиву, чтобы передать ее в whereIN.В зависимости от версии PHP существует два способа ....
Старый PHP с использованием функции array ()
$program=DB::table('project')->whereIN('owner',array($val))->pluck('project.name','project.code')
PHP 5.4+ с использованием синтаксиса короткого массива []
$program=DB::table('project')->whereIN('owner',[$val])->pluck('project.name','project.code')
или вернуть массив из getUser (), если это уместно
return [$reportees];