我想使用“ osiset / Basic-Shopify-API”软件包批量更新产品型号的价格。
此查询可完美运行:
$variant['input']['id'] = "gid://shopify/ProductVariant/31576237899799";
$variant['input']['price'] = 1;
$productVariant = $api->graph('
mutation productVariantUpdate($input: ProductVariantInput!)
{productVariantUpdate(input: $input) {userErrors { field message }}}
',$variant);
现在我想将许多产品变体传递给突变。
我找到了这个GraphQL查询:
mutation{
ProductVariant1: productVariantUpdate(input: {
id: "gid://shopify/ProductVariant/27868413755001",
price: 34.97
}){
productVariant{ id, price }
}
ProductVariant2: productVariantUpdate(input: {
id: "gid://shopify/ProductVariant/27868413788000",
price: 34.97
}){
productVariant{ id, price }
}
}
因此应该可以设置变量进行查询,例如
ProductVariant1:
并传递数组。
我该怎么办?
答案 0 :(得分:0)
我找到了一个东西。也许对任何人都有帮助。
$variants[0]['id'] = "gid://shopify/ProductVariant/1";
$variants[0]['price'] = 1;
$variants[1]['id'] = "gid://shopify/ProductVariant/2";
$variants[1]['price'] = 2;
//build query
$query = '';
$countRun = 1;
foreach($variants as $variant)
{
if($countRun == 1)
{
$query = 'mutation{
ProductVariant'.$countRun.': productVariantUpdate(input: {
id: "'.$variant['id'].'",
price: '.$variant['price'].'
}){
productVariant{ id, price }
}
';
}
else{
$query = $query.'ProductVariant'.$countRun.': productVariantUpdate(input: {
id: "'.$variant['id'].'",
price: '.$variant['price'].'
}){
productVariant{ id, price }
}
';
}
$countRun++;
}
$query = $query.'}';
$runQuery = $api->graph($query);
return $runQuery;