4

SQL を使用して、すべての SIMPLE のみの製品の可視性を変更しようとしています。

可視性属性のすべての値を選択する方法は次のとおりです。

SELECT * FROM `catalog_product_entity_int` WHERE attribute_id = 102

catalog_product_entity_intテーブルにentity_idは製品エンティティ ID の列があり、すべての単純な製品に対してvalue変更する必要があります。1

すべての単純な製品を選択する方法は次のとおりです。

SELECT * FROM `catalog_product_entity` WHERE `type_id`= 'simple'

私ができないことは、すべての単純な製品valueの列を更新するクエリを書くことです。catalog_product_entity_int

4

6 に答える 6

4

ダイレクト SQL クエリで EAV 属性を編集する理由はありますか?

コレクションを使用して、または管理バックエンドでも同じことを行うことができます: カタログ - 製品の管理 - 「単純な製品」と入力 - すべて選択 - アクション - 属性の更新 - 可視性

于 2012-10-03T20:35:52.113 に答える
2

Magento の大量アクションの 1 つを使用したいと考えています。このようにして、適切なイベントが引き続きディスパッチされます。

<?php

// Get all simple product ids
$ids = Mage::getResourceModel('catalog/product_collection')
    ->addAttributeToFilter('type_id', array('eq' => Mage_Catalog_Model_Product_Type::TYPE_SIMPLE))
    ->getAllIds();

// Update their visibility
Mage::getSingleton('catalog/product_action')->updateAttributes(
    $ids,
    array("visibility" => Mage_Catalog_Model_Product_Visibility::VISIBILITY_NOT_VISIBLE),
    Mage_Core_Model_App::ADMIN_STORE_ID
);
于 2013-10-11T19:26:53.383 に答える
1

手順に従ってください。

ステップ 1: クエリを使用して変更を行う前に、影響を受けるテーブルまたはデータベースのバックアップを作成する必要があります。この場合、バックアップ (catalog_product_entity_int) テーブルを取得します。

ステップ 2: eav_attribute テーブルで正確な可視性属性 ID を検索します。

( SELECT * FROM eav_attribute WHERE attribute_code LIKE 'visibility')。次に、次のクエリでその値を保持します...

Step3: このクエリを実行する

UPDATE catalog_product_entity_int SET VALUE =2 WHERE attribute_id = 102 AND entity_id IN (SELECT entity_id FROM catalog_product_entity WHERE type_id= 'simple')

幸運を...

于 2015-06-17T09:53:32.780 に答える
1

私はあなたの質問を得たので、この単純なコードはあなたのために働くでしょう.

これら2つのテーブル間の関係は-entity_idであると仮定します

update catalog_product_entity_int set value =1 
where attribute_id = 102 and  entity_id=
(select entity_id from `catalog_product_entity` where `type_id`= 'simple')
于 2012-10-03T15:30:08.070 に答える
-1

私は正確にこのSQLコマンドだと思います:

UPDATE catalog_product_entity_int SET VALUE =2  
WHERE attribute_id = 93 AND  
      entity_id IN (SELECT entity_id FROM catalog_product_entity 
                    WHERE type_id= 'simple')

注: attribute_id ウィッチ マップ番号を確認してください

于 2013-04-04T04:21:18.673 に答える