Получение полей из объекта

#php #mongodb #symfony #doctrine

#php #mongodb #symfony #доктрина

Вопрос:

У меня есть коллекция Country с полями: name, aaa, bbb, ccc, ddd.

Пример:

 {_id: xxx1, name: "USA", aaa: "daf", ccc: "sdfgsdf", ddd: "234"}
{_id: xxx2, name: "Mexico", aaa: "dfg", bbb: "fdsgsdf"}
{_id: xxx3, name: "Germany", bbb: "ddfgaf"}
{_id: xxx4, name: "France"}
  

В контроллере в моем приложении Symfony я получаю все объекты в переменную $ countries и далее:

 foreach ($countries as $country) {
    //how can I get here fields for current object? 
    //For _id: xxx1 I would like receive "_id, name, aaa, ccc, ddd" and for _id: xxx4 I would like receive "_id, name"
}
  

Комментарии:

1. Есть ли вопрос, который вы хотели задать?

2. Похоже, это встроено в код как комментарий.

Ответ №1:

Вы можете использовать get_object_vars() и array_keys() внутри вашего foreach.

 foreach ($countries as $country) {
   $fields = array_keys(get_object_vars($country)); 
}