タグ付けされた質問 「query」

2
コレクションクエリでテーブルを左結合する
エクスポートのためにシステムからいくつかの注文を取得するために、次のことを行っています。 $orders = Mage::getModel('sales/order')->getCollection() ->addFieldToFilter('status', $statusToExport) ->addFieldToFilter('store_id', $this->processingStoreId) ->addFieldToFilter('updated_at', array('gteq' => date('Y-m-d H:i:s', $lastSyncTime))); 注文がカスタムテーブルにある場合、エクスポートしない場所に何かを追加する必要がありentity_idます。SQLを使用していた場合、次のようにします。 left join myTable as mt on main_table.entity_id = mt.entity_id where mt.entity_id is null ただし、コレクションクエリを変更して同様のことを行う方法はわかりません。 注:試しました $orders = $orders->getSelect() ->joinLeft( array("t1" => $myTable), "main_table.entity_id = t1.entity_id", array("admin_field_id" => "t1.id") ) ->where("t1.id is null") ただし、これによりクエリが変更されるため、販売/注文のコレクションを返す必要があります。 シンプルなものが足りないと感じています... 編集 …


4
magento 2でコレクションmysqlクエリを印刷するにはどうすればよいですか?
そこではgetSelect()->__toString();、コレクションの印刷クエリのMagentoの1で利用可能です。以下の例のように $products = Mage::getModel(‘catalog/product’) ->addAttributeToFilter(‘status’, array(‘eq’ => 1)); echo $products->getSelect()->__toString(); magento 2で利用可能な方法はありますか?これを見つけました->printLogQuery(true);が、うまくいきません。 更新:以下はコードです。ベストセラー製品を入手しようとしています。その作業は完璧ですが、デバッグ用のクエリを出力したいです。 $this->_collection->getSelect() ->joinLeft( 'sales_order_item', 'e.entity_id = sales_order_item.product_id', array('qty_ordered'=>'SUM(sales_order_item.qty_ordered)')) ->group('e.entity_id') ->order('qty_ordered '.$this->getCurrentDirectionReverse());

2
「SELECT DISTINCT attribute FROM products」に相当するMagento ORMとは何ですか?
(疑似)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...');
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.