मैं निर्यात के लिए सिस्टम से कुछ ऑर्डर प्राप्त करने के लिए निम्नलिखित कर रहा हूं:
$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
मैं एक कस्टम तालिका में है। यदि मैं एसक्यूएल का उपयोग कर रहा था, तो मैं करूंगा:
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")
लेकिन यह इसे बदल देता है इसलिए यह एक प्रश्न है और मैं चाहता हूं कि बिक्री / ऑर्डर संग्रह वापस आ जाए।
मुझे लगता है कि मैं कुछ आसान याद कर रहा हूँ ...
संपादित करें
ठीक है, मैंने यह कोशिश की है:
$orders->getSelect()
->joinLeft(
array("t1" => $myTable),
"main_table.entity_id = t1.entity_id",
array("admin_field_id" => "t1.id")
)
->where("t1.id is null");
जब मैं (string)$orders->getSelect()
इसे प्रतिध्वनित करता हूं तो वह क्वेरी देता है जिसकी मैं अपेक्षा करता हूं और जब मैं इसे चलाता हूं तो कोई परिणाम नहीं देता है। $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")
आइटमों को मेरी वर्तमान सूची से बाहर नहीं करना चाहिए ?