因此,我在這裏看到的第一個問題是...您試圖選擇特定品牌的屬性。屬性事實上並不是擁有品牌(也不是模型)。
您能否澄清一下用例?您是否試圖獲得品牌114的所有產品的modellijn(這很有趣)類型的價值?你的預期產出是多少?或者,如果你更喜歡這樣,那麼你期望看到的SQL查詢會產生什麼?
感謝, 約瑟夫Mastey
好吧,根據您的更新,我只是想澄清一些事情。
- 屬性集合具有屬性
- 屬性有選項(有時)
- 產品具有的屬性值
- 分類有產品
如果你只需要找到特定產品的modellijin ,那麼你只需要問它。如果你有一個單一的產品,這應該做的伎倆:如果你正在加載的產品從集合
$product = Mage::getModel("catalog/product")->load($id); // Magento does this for you in some cases
$product->getModellijn(); // this will return your value
$product->getAttributeText('modellijn'); // IIRC, this works for <select> type attributes
,您需要確保告訴您要加載該屬性也Magento的。選擇來自EAV的所有東西比從標準規範化數據庫中選擇所有東西更加昂貴。因此,Magento希望你告訴它你需要什麼。
$collection = Mage::getModel("catalog/product")->getCollection();
$collection->addAttributeToFilter("brand", 114); // limit for brand
$collection->addAttributeToSelect("modellijn"); // * also works but is slow
foreach($collection as $product) {
$product->getModellijn(); // just as above
$product->getAttributeText('modellijn');
}
讓我知道這是否適合你。如果沒有,請修改上面的帖子以包含更完整的SQL語句,如果可能的話,更多關於您使用此數據的位置的信息。這將幫助我理解執行代碼的上下文。
正常SQL會是這樣的: 「選擇MODELLIJN FROM .... WHERE BRAND_ID = 114」 .... 我有很多的產品,我們一直在添加屬性的每個產品類別。 基本上我知道某些產品的brand_id是什麼。但是現在我想知道該產品的Modellijn(模型)是什麼。例如 。我的品牌是賓利空調與不。114價值和該產品的modellijn(模型)是breitling 希望你能幫助我...因爲這個eav模型是非常困惑我! – 2010-09-02 13:27:21
modellijn和品牌都屬於該產品的屬性 – 2010-09-02 13:28:31