laravel lame comment définir les options de la liste déroulante

Je suis en train de créer une liste déroulante à l'aide de blade

J'ai déjà vérifié cette question Laravel 4 lame de liste déroulante de l'attribut de classe

J'ai essayé ceci:

 {{Form::select('category_id', $categories)}}

et le résultat est:

<select name="category_id"><option value="0">{"id":2,"name":"Apartment"}</option><option value="1">{"id":3,"name":"Car"}</option></select>

Je ne sais pas comment faire pour afficher seulement les name valeur des options. en plus je ne pouvais pas savoir comment définir la valeur de chaque option id

Je sais que le quatrième paramètre est la première option, et j'ai essayé de faire ce

 {{Form::select('category_id', $categories, '', $categories)}}

mais j'ai eu cette exception:

htmlentities() expects parameter 1 to be string, array given (View: 

veuillez noter que le $categories est tableau, chaque ligne a id et name

Mise à jour de 1

- Je envoyer la valeur de contrôleur à la vue comme

 $categories = Category::All(['id', 'name']);

Category est un modèle