Я пытаюсь выполнить SQL-запрос, когда мне нужно проверить, содержит ли моя таблица базы данных определенную запись или нет.Если это так, ничего не делайте, добавьте запись, которой нет.
Пример моей таблицы содержит поля типа sample_id (auto-incremented), order_id, order_email_id, review_request, coupon_sent
.У него есть 4 записи, имеющие order_ids (71, 74, 126, 165)
Чтобы получить идентификаторы $, у меня есть этот запрос,
$to_date = date('Y-m-d H:i:s',strtotime('-3 days'));
$orders = Mage::getModel('sales/order')->getCollection()->addFieldToFilter('status', 'complete')->addFieldToFilter('updated_at',array('to' => $to_date ))->addAttributeToSelect('customer_email')->addAttributeToSelect('entity_id');
foreach($orders as $order)
{
$email = $order->getCustomerEmail();
$id = $order->getEntityId();
$sample = Mage::getModel('sample/sample')->getCollection()->addFieldToFilter('order_id', $id)->addFieldToSelect('order_id');
if($sample != null)
{echo "Record already exists";}
else
{
echo "Insert this record";
$sample->setOrderId($id);
}
}
My $id
содержит (71, 74, 126, 165, 166, 167)
Так что в идеалеПриведенный ниже запрос должен проверять существующие записи (71, 74, 126, 165)
и вставлять новые (166, 167)
.Я повторил запрос, и он вернулся правильно, но он все еще повторяет «Запись уже существует» для идентификаторов 166 и 167, что в идеале не должно
Есть ли другой способ проверить значение существующего поля в таблицев Magento?
Любая помощь приветствуется.Заранее спасибо