Вопрос

Импорт заказов c деталями (множественное поле)

Добрый день. У нас к заказу привязана деталь. Импорт  заказов осуществляется через REST API. Мне необходимо при импорте заказа привязывать к нему несколько деталей, как их нужно передавать? массивом? 

Нравится

17 комментариев
Лучший ответ

Те все отправлять по одной записи, сначала заказ, потом по каждой детали запрос на добавление с указанием Id заказа те в приближении к SQL точно так как вы бы делали импорт в БД сначала вставили запись в главную таблицу потом заполнили бы все подчиненные записи связанные с главной

Без конкретики трудно что-либо сказать. 

Как обычно делается: Вставляется запись, вставляются/обновляются другие связанные с главной записи.

Как их передавать (я так подозреваю данные по деталям тоже кидаются через rest) - тоже зависит от вашей реалиизации

Те все отправлять по одной записи, сначала заказ, потом по каждой детали запрос на добавление с указанием Id заказа те в приближении к SQL точно так как вы бы делали импорт в БД сначала вставили запись в главную таблицу потом заполнили бы все подчиненные записи связанные с главной

Варфоломеев Данила,

Возможно я не всовсем корректно сформулировала вопрос) Если на примере продуктов:

1. я передала нужные мне продукты в раздел продукты, и они записались

2. Потом я добавляю заказ и мне необходимо эти продукты привязать к заказу. Я не могу понять изх документации, что ожидает от меня рест апи? массив этих элементов?

 

И Пользуясь случаем, как называется поле в заказе, где хранятся продукты? Product и OrderProduct не работают, пишет что не найдем такой элемент коллекции

Варфоломеев Данила,

Точнее не массив элементов, а массив guid

Продукты в заказе хранятся в отдельном объекте  "OrderProduct" (єто отдельная  таблица в БД) вот туда  каждого продукта в заказе вы должны передать в цикле все продукты по одному!  (По аналогии как ві добавляете заказ, добавить в OrderProduct продукты по одному

Григорий Чех,

Да, я так и сделала. А как теперь к заказу то их привязать?

OrderProduct содержит Id заказа

Григорий Чех,

http://prntscr.com/l0uxo0

Пишет что  Элемент коллекции с именем OrderId не найден

А если «Order»?

Григорий Чех,

пробовада просто передать в id, продукт записывается, но не привязывается

В поле «Id» хранится первичный ключ записи, а не связь с другой таблицей.

Malafeeva,

Вы должны сначала загрузить все Заказы и только потом грузить Продукты, иначе когда вы пытаетесь добавить Продукт с привязкой к Заказу, будет ошибка, т.к. Заказа еще нету, а вы вставляете его ID в OrderId

Зверев Александр,

Класс, добавилось! 

http://prntscr.com/l0vx23 

Но без имени почему то... я его просто как Name передаю, надо иначе как то?

Литвинко Павел,

Да, я так и делаю. Сначала заказ, потом товары.

Зверев Александр,

Хотя по идее name должно быть...

http://prntscr.com/l0w12a

Зверев Александр,

Все, поняла, надо в Product guid передатиь

OrderProduct — это таблица развязки, где не нужно заполнение своего Name, а нужны ссылки на другие таблицы Order и Product.

Показать все комментарии