Intereting Posts
Проверка типа MIME бесполезна для загрузки файла? (в частности, используя API файлов Javascript)? Проверьте, правильно ли сформирован удаленный файл XML с PHP Как отправить переменную в php из javascript и вернуть результат обратно в JS Проверьте, является ли строка MD5 Hash Как заменить несколько элементов из текстовой строки в PHP? Должен ли CodeIgniter загружать представление на последнем этапе? Как закрыть цикл PHP, который вставляет из DOM в MySQL Как преобразовать десятичный $ attribute ; во фракцию в opencart Сделать флажок возвращать false при снятии флажка Ошибка Mysql & PHP: количество столбцов не соответствует количеству значений в строке 1 Как реализовать Redis в CodeIgniter? Сортировка массивов в многомерный массив с помощью ключа Установка WAMP Curl Убить Active Session, если пользователь заблокирован Как загрузить файлы (multipart / form-data) с помощью многомерных POSTFIELDS с помощью PHP и CURL?

Картирование – встроенный документ Mongodb в Symfony2

Я пытаюсь добавить информацию о сопоставлении в Symfony2 с помощью MongoDB, как показано здесь: http://symfony.com/doc/current/bundles/DoctrineMongoDBBundle/index.html [в разделе «Добавление информации»] Но то, что я хочу сделать, это добавьте вложенные документы. Вот часть моего документа со встроенными документами:

"_id" : "", "last_name" :, "first_name" : "", "address" : [ { "Street" : "", "City" : "", "Zip_Code" : "", "Country": "" } ], "company" : "" "purshaed_items" : [ { "items_id" : "", "category":"", "price":"", "date_of_purshae" } ] 

Итак, вы можете видеть, что у меня есть поля «Адрес» и «Purshaed_items», которые являются встроенными документами. Я нашел эту ссылку http://doctrine-orm.readthedocs.org/projects/doctrine-mongodb-odm/en/latest/reference/embedded-mapping.html Я предполагаю, что моим делом будет «Вставить много», но didn ' действительно ли получается, как это работает?

Может кто-нибудь попробует объяснить, как это работает?

спасибо

Я бы сделал так:

 /** @EmbedMany(targetDocument="PurshaedItem") */ private $purshaedItems = array(); 

Предположим, что у вас есть другой класс документа с именем PurshaedItem (возможно, BuyasedItem).

И целевой документ будет отображаться следующим образом:

 /** * @MongoDB\EmbeddedDocument */ class PurchasedItem { // whatever properties ... } 

И если вы хотите запросить встроенные документы, вы можете получить их в контроллере (рекомендуется), вот мой простой пример .

Для получения этого в шаблоне ветви, вот еще один пример .

Примеры из простого приложения блога Symfony. Есть 3 документа: почта, тег и комментарий. Post имеет теги и комментарии как встроенные свойства. Посмотрите вокруг кода, это просто. Если ответ был полезен для вас, нажмите, чтобы принять его.