Questions tagged «collection»

与Magento系列相关的问题


2
Magento 2:以不同方式获取集合的字段
我在Magento 2中有这个辅助课程: class Data extends \Magento\Framework\App\Helper\AbstractHelper { protected $_countryFactory; public function __construct( \Magento\Directory\Model\CountryFactory $countryFactory ) { $this->_countryFactory = $countryFactory; } public function getCountryIsoCode($country = 'US') { $country = $this->_countryFactory->create()->getCollection(); $country->addFieldToFilter('country_id', array('eq' => country)); $countryCode = $country->getFirstItem()->getIso3Code()); $countryCode2 = $country->getFirstItem()->getData('iso3_code')); // $countryCode => null // $countryCode2 => 'USA' return $countryCode; } …

2
Magento ORM等同于“产品的SELECT DISTINCT属性”?
我需要在(伪)SQL中检索用于特定产品属性的所有值的列表: SELECT DISTINCT attribute FROM products; 我将如何使用Magento ORM生成等效查询?我已经试过了该distinct()功能,但是它没有达到我的期望: // Returns an array of NULL with a length equal to all products in the catalog Mage::getModel('catalog/product')->getCollection() ->addAttributeToSelect('attribute') ->distinct(true) ->getColumnValues('attribute'); 我正在努力获得的将是一组attribute值,没有重复项 array('some value', 'some other value', 'a really common value', 'etc...');

2
addAttributeToSelect不能与core / resource_iterator一起使用吗?
public function run() { $products = Mage::getModel('catalog/product') ->getCollection() ->addFinalPrice() ->addAttributeToSelect('name') Mage::getSingleton('core/resource_iterator') ->walk($products->getSelect()->limit(10), array(array($this, 'getLine'))); } public function getLine($args) { var_dump($args['row']); } 用我的getLine()方法我没有,name但addFinalPrice()有效: array(16) { ["entity_id"]=> string(2) "61" ["entity_type_id"]=> string(1) "4" ["attribute_set_id"]=> string(2) "10" ["type_id"]=> string(6) "simple" ["sku"]=> string(15) "50-F01010001-03" ["has_options"]=> string(1) "0" ["required_options"]=> string(1) "0" ["created_at"]=> string(19) "2011-07-05 18:30:48" ["updated_at"]=> …

1
Magento客户网格_prepareCollection()覆盖无效
我已经覆盖了Mage_Adminhtml_Block_Customer_Grid的_prepareCollection()方法,并添加了以下几行 ->addAttributeToSelect('cus_city') ->addAttributeToSelect('cus_country') ->addAttributeToSelect('cus_state') 至: protected function _prepareCollection() { $collection = Mage::getResourceModel('customer/customer_collection') ->addNameToSelect() ->addAttributeToSelect('email') ->addAttributeToSelect('created_at') ->addAttributeToSelect('group_id') ->addAttributeToSelect('cus_city') // added ->addAttributeToSelect('cus_country') // added ->addAttributeToSelect('cus_state') // added ->joinAttribute('billing_postcode', 'customer_address/postcode', 'default_billing', null, 'left') ->joinAttribute('billing_city', 'customer_address/city', 'default_billing', null, 'left') ->joinAttribute('billing_telephone', 'customer_address/telephone', 'default_billing', null, 'left') ->joinAttribute('billing_region', 'customer_address/region', 'default_billing', null, 'left') ->joinAttribute('billing_country_id', 'customer_address/country_id', 'default_billing', null, 'left'); …

2
如何收集可以发货的订单?
我需要尚未发货或部分发货的订单。我正在使用以下代码来获取可以发货的订单。 foreach ($orderIds as $orderId) { $order = Mage::getModel('sales/order')->load($orderId); if ($order->canShip()) { echo "Shipping Pending"; } } 但是我不想使用foreach。我需要下面的东西。 Mage::getModel('sales/order')->getCollection() ->addFieldToFilter('status','can_ship');

2
集合-过滤多个多选属性值
那不是错字。 我知道我需要使用'finset'来过滤我的多选属性;但是,我试图一次过滤多个值并得到: Incorrect parameter count in the call to native function 'FIND_IN_SET。 这是一些示例代码: foreach ($options as $option) { // $option[0] contains an attribute ID as a string $attribute = Mage::getModel('catalog/resource_eav_attribute')->load($option[0]); if ($attribute->getFrontendInput() == 'multiselect') { $collection->addAttributeToFilter($attribute->getAttributeCode(), array('finset' => $option[1])); } else { $collection->addAttributeToFilter($attribute->getAttributeCode(), array('in' => $option[1])); } } 我在前端有一组字段,每个字段对应一个特定的属性,并包含每个属性值的复选框。根据这些提交的内容,集合应过滤掉已选择的内容。 除了我尝试同时过滤两个多选选项的单一情况外,其他所有功能都工作正常。如果我仅选择其中之一,则搜索将正常进行。如果选择两个或多个,则会出现上述MySQL错误。 …
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.