$products->toArray() вернёт тебе массив, где ключём будет индекс элемента, а значением массив со списком атрибутов модели, а должен быть не массив, а строка.
а так? {!! Form::select('products', $products->map(function($item){return[$item['id']=>$item['name']];}), 0, [])!!} я не пользуюсь Fоrm мож чуть не правильно по синкаксису