আমি রফতানির জন্য সিস্টেম থেকে কিছু আদেশ পেতে নিম্নলিখিতটি করছি:
$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")
আমার বর্তমান তালিকা থেকে আইটেমগুলি বাদ দেওয়া উচিত নয় ?