Внутреннее соединение и фильтрация по дате не работает. Выдает ошибку нарушения ограничения целостности - Magento 1 - PullRequest
0 голосов
/ 22 января 2019

Я пытаюсь выполнить внутреннее соединение двух таблиц для получения данных. и это сработало, однако, когда я ищу, чтобы получить дату из таблицы. Я получаю сообщение об ошибке

Integrity constraint violation: 1052 Column 'created_at' in where clause 
is ambiguous, query was: SELECT COUNT(*) FROM `sales_flat_order` AS 
`main_table`
INNER JOIN `sales_flat_order_item` ON main_table.store_id = 
sales_flat_order_item.store_id WHERE (`created_at` >= '2017-04-01'

Это мой код

    $collection = Mage::getModel('sales/order')->getCollection();

    $collection->addFieldToFilter('created_at');
    $collection->getSelect()->join("sales_flat_order_item", 
    "main_table.store_id = sales_flat_order_item.store_id", 
    array('name','sku','order_id','quantity'));

Ответы [ 2 ]

0 голосов
/ 23 января 2019

Решил это.

$startDate = date("Y-m-d 00:00:00", strtotime( date( "Y-m-d 00:00:00", 
strtotime( date("Y-m-d 00:00:00") ) ) . "-10 months" ) );
$endDate = date("Y-m-d 00:00:00", strtotime( date( "Y-m-d 00:00:00", 
strtotime( date("Y-m-d 00:00:00") ) ) . "+1 day" ) );
$collection = Mage::getResourceModel('sales/order_item_collection')->addFieldToFilter('created_at', array('from' => $startDate, 'to' => $endDate)->addAttributeToSelect('*');
$this->setCollection($collection);
return parent::_prepareCollection();
0 голосов
/ 22 января 2019

Вы можете попробовать что-то вроде этого

$collection = Mage::getModel('sales/order')->getCollection();
$collection->addFieldToFilter('main_table.created_at', '2017-04-01');
$collection->getSelect()->join("sales_flat_order_item",
    "main_table.store_id = sales_flat_order_item.store_id",
    array('name','sku','order_id','qty_ordered'));

Но ваше объединение выглядит странно, возможно, было бы лучше использовать sales_flat_order.entity_id = sales_flat_order_item.order_id, а затем store_id

Что именно вы пытаетесь получить этим выбором?

Пожалуйста, опишите вашу задачу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...