NULL değerleri ile olanak tanımak için Magento toplama yöntemi, addFieldToFilter mümkün kullanılarak? Özelliğe sahip bir koleksiyondaki tüm ürünleri, özniteliğe hiçbir değer atanmamış olsa bile seçmek istiyorum.Magento addFieldToFilter izin NULL
cevap
Sen addFieldToFilter
kullanmaya gerek yoktur.
şimdi çözüm:
adı magento code
olarak bilinir niteliklerini, sadece bir dizi
$prodsArray=Mage::getModel('catalog/product')->getCollection()
->addAttributeToFilter('custom_attribute_code')
->getItems();
gibi belirli bir özelliği olan tüm ürünleri almak için aşağıdaki kodu kullanmak gerekir
ayrıca addAttributeToFilter ikinci parametresine addAttributeToFilter
yılında özelliğin değerini belirli koşulları belirtebilirsiniz.
Eğer (ileri çalışma) bu dosyada bu yöntemi bulabilirsiniz: null/boş özelliklere göre bir ürün koleksiyonu Filtreleme
app/code/core/Mage/Eav/Model/Entity/Collection/Abstract.php
iki olası çözümü vardır. Magento, filtrelenecek özelliklerin değerlerini almak için bir INNER JOIN kullanır. AMA, ürün özniteliğine bir değer atanmazsa, bir veritabanı tablosu/ilişkisi eksik olduğundan birleştirme başarısız olur.
# 1 Çözüm: Kullanım addAttributeToFilter() ve "iç" (varsayılan) katılmak türünü değiştirmek "sol" için:
$collection = Mage::getModel('catalog/product')->getCollection();
$collection->addAttributeToFilter('custom_attribute', array(... condition options ..), 'left');
Çözüm # 2: özel nitelik emin olun varsayılan bir değere sahiptir. Magento bu konuda muhafazakârdır. Magento, yalnızca nitelik için bir değer verilirse, bir özellik ile ürün arasındaki ilişkiyi yaratacaktır. Yani kullanıcının belirlediği değer veya varsayılan değer yokluğunda niteliği bir ürün niteliği yönetici panelinden altında ürün detay görünümünde görünse bile filtrelemek için erişilebilir olmayacaktır.
Ben zaten bir çözüm buldum görüyorum, ama bu seçenek de var:
$collection->addFieldToFilter('parent_item_id', array('null' => true));
Ama "NULL" => false, kullanmak istiyorsanız hangi DOESNT'İŞ. (ve örneğin "in", "nin", "eq", "neq", "gt" gibi öğeleri kullanabilirsiniz fark), bunu yapabilirsiniz:
$collection->addFieldToFilter('parent_item_id', array('neq' => 'NULL'));
Umut bu hala yararlıdır. ..
Varien_Data_Collection_Db :: _ getConditionSql() kodundaki belgelere bakın. Belirtilen 'null' gibi olası tüm seçenekleri ve tersine de 'notnull'u tanımlar. – fietserwin
Bu DEĞİL BOŞ filtreler
$collection->addFieldToFilter('parent_item_id', array('notnull' => true));
için çalışır sorusu tam olarak sorunun başlığını uymuyor ve ben gibi bir durum arayarak onları defalarca buldum Çünkü: özel DEĞER VEYA NULL
bir DEĞERİ VEYA BOŞ eşleşen bir koleksiyon filtrelemek istiyorsanız, o zaman kullanabilirsiniz: addFieldToFilter işaret için
$collection->addFieldToFilter('<attribute>', array(
array('eq' => '<value>'),
array('null' => true)
));
- 1. ForeignKey null değerlerine izin vermiyor
- 2. Filtre Magento koleksiyonu değil, ürünleri kullanarak, farklı
- 3. NULL işaretçisini geçersiz kılmaya izin ver
- 4. Kod İlk özellikte null izin vermek nasıl?
- 5. Magento koleksiyonu özelliği seçmiyor
- 6. Magento
- 7. Magento
- 8. Magento
- 9. Magento
- 10. Magento
- 11. Magento
- 12. Magento -
- 13. magento
- 14. Magento
- 15. Magento
- 16. Magento: Ürün kataloglarını daha hızlı güncelleme
- 17. Geçici tabloların null değerlerini kabul etmesine nasıl izin verilir
- 18. C# null null'a izin verilmeyen türleri ele almaz mı?
- 19. Magento kullanıcı oturumuna Magento dışından nasıl erişilir?
- 20. Magento müşterisinin oturumuna Magento dışından nasıl erişilir?
- 21. Magento Geçerli url, 404
- 22. Verileri Magento
- 23. Magento 2
- 24. Magento: altbilgi
- 25. Magento Fishpig
- 26. stdout'u stdio seçeneği [null null, null,] 'devralır'
- 27. Null
- 28. null Enum null tip soru
- 29. Null '' null '' DateTime to MaskedTextBox
- 30. Bir sütun düşürmeden NOT NULL olan NULL için değiştirebilir miyim?
Teşekkür - bu işleme BOŞ fie çözümüne yol açtı lds – leepowers
aslında bu yanlıştır, bu boş '' yerine bir 'null' filtresiyle bir karşılaştırma yapar. – useless