Closed makm closed 4 years ago
после создания записи product $product->create(); не возможно получить id
$productMoySklad = new Product( $this->moySklad, [ "name" => $product->getSet()->getCaption(), "description" => $product->getSet()->getDescription(), 'code' => (string)$product->getId(), 'externalCode' => (string)$product->getId(), 'article' => $product->getArt(), 'barcodes' => [$product->getBarcode()], ] );
$product->create();
вызов $product->id вернет Notice: Undefined property: stdClass::$id
Notice: Undefined property: stdClass::$id
и еще... сразу после создания сущности, например, productFolder $parentProductFolderMoySklad невозможно ее использоваться в билдере:
// $parentProductFolderMoySklad - новая сущность сохраненная через $parentProductFolderMoySklad->create(); $productFolder = (new ProductFolder( $this->moySklad, [ 'code' => (string)$category->getId(), 'externalCode' => (string)$category->getId(), 'name' => $category->getCaption(), ] )); if ($parentProductFolderMoySklad) { $productFolder->buildCreation()->addProductFolder($parentProductFolderMoySklad); } $productFolder->create();
вернет
[MoySklad\Exceptions\ApiResponseException (2014)]
а дебаг покажет
^ array:1 [ 0 => {#1848 +"errors": array:1 [ 0 => {#1844 +"error": "Ошибка формата: отсутствует meta для поля 'productFolder'" +"code": 2014 +"moreInfo": "https://online.moysklad.ru/api/remap/1.1/doc#обработка-ошибок-2014" +"line": 1 +"column": 104285 } ] } ]
Как то так
Пока что решение простое - перезапрашиваю сущность и только потому использую в билдере, но, как кажется другого варианта нет.
$product = $product->create();
Спасибо! из-за стиля, не заметил!
после создания записи product $product->create(); не возможно получить id
$product->create();
вызов $product->id вернет
Notice: Undefined property: stdClass::$id
и еще... сразу после создания сущности, например, productFolder $parentProductFolderMoySklad невозможно ее использоваться в билдере:
вернет
[MoySklad\Exceptions\ApiResponseException (2014)]
а дебаг покажет
Как то так