Magento 2: Как в этом случае работает Insert on Duplicate?

Я использую версию Magento 2.1.7. В моей таблице базы данных мне нужно создать строку / обновить строку на основе ItemNo и GroupNo группы. Обратитесь к изображению, чтобы увидеть пример структуры таблицы. Например, мне нужно обновить Qty на основе комбинации ItemNo и GroupNo. Если комбинация не существует, то необходимо создать новую строку.

И как это возможно, используя Insertonduplicate в запросе SQL?

1 ответ

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

        $itemNo = 1000;
        $model = $this->modelFactory->create();
        $model->load($itemNo, "ItemNo (Field in DB)");
        $model->addData([
            "Item No" => $itemNo,
            "Group NO" => 20,
             "Qty" =>  300

        ]);
        $saveData = $model->save();
        if($saveData){
            echo "data saved sucessfully";
        }

Это создает новую строку, если itemNo не существует в БД, и обновляет строку, если она есть

Другие вопросы по тегам