cancel
Showing results for 
Search instead for 
Did you mean: 

query all products that have the same custom attribute value

   Did you know you can see the translated content as per your choice?

Translation is in progress. Please check again after few minutes.

query all products that have the same custom attribute value

Hello,

 

I need to query all products in my database that have the same custom attribute value. The end results is I need the product IDs

 

What tables do I need to JOIN? What would the script look like?

2 REPLIES 2

Re: query all products that have the same custom attribute value

Hi Justin,

All Attributes are stored in eav_attribute table you willnever need to join table you can write query filter by attribute

Ex:-

// Your Attribute code
	$attribute_code='recommend'

	$products = Mage::getResourceModel('catalog/product_collection');
	
	// Select which fields to load into the product
	// * will load all fields but it is possible to pass an array of
	// select fields to load
	$products->addAttributeToSelect('*');
	
	// Ensure the product is visible
	$products->addAttributeToFilter('visibility', array('neq' => 1));
	
	// Ensure the product is enabled
	$products->addAttributeToFilter('status', 1);
	
	// Add  attribute name 

	$products->addAttributeToFilter('$attribute_code,true);

	// Limit the collection to 1 result
	$products->setCurPage(1)->setPageSize(1);
	
	// Load the collection
	$products->load();

Re: query all products that have the same custom attribute value

Hello,

 

Thank you for this, the reason I need the product IDs is this.

 

I have 6000 products in my accounting database (attribute my_product_id )

 

These turn into 31,000 products which I need for my layered navigation (car parts: make(dropdown), model(dropdown), year(multi-select) - different cars use the exact same part, but are sold as separate parts). Too complex to use as configurable product (I think)

 

The inventory is stored in the cataloginventory_stock_item table and holds the magento product IDs

 

So I could potentially have 1 actual product  which displays as 10 different products on the website

 

So whenever a purchase is made, I want to write a script to search the whole product database for all products that share that attribute ID (my_product_id) and adjust their inventory accordingly

 

 

I will also write a script for updating inventory levels and price (a different thread on here) So if I have 5 qty of my_product_id, then the 10 products it will turn into will all have 5 qty when I import