4

過去1時間に作成された製品を検索しようとしています。

次のように、作成日で製品を並べ替えることができます。

$collection = Mage::getModel('catalog/product')
    ->getCollection()
    ->addAttributeToSelect('*')
    ->addAttributeToSort('created_at', 'desc');

しかし、created_atでフィルタリングしたいと思います。上記のブロックの最後の行をに置き換えてみましたがaddAttributeToFilter('created_at', array('gteq' =>$time));、これは正しいはずですが、の正しい形式が見つかりません$time

私はここで正しい方向に進んでいますか?もしそうなら、どのフォーマットでフィード$timeする必要がありますか?

4

1 に答える 1

3

MySQLタイムスタンプ形式を使用する必要があります。次のコードは私のために働いた:

$time = "2013-02-06 09:32:23"; // 'yyyy-mm-dd hh:mm:ss'

$collection = Mage::getModel('catalog/product')
->getCollection()
->addAttributeToSelect('*')
->addAttributeToSort('created_at', 'desc')
->addAttributeToFilter('created_at', array('gteq' =>$time));

画面にエコーするだけで、特定の属性の形式を非常に簡単に見つけることができます。例えば:

$collection = Mage::getModel('catalog/product')
->getCollection()
->addAttributeToSelect('*')
->addAttributeToSort('created_at', 'desc');

exit($collection->getFirstItem()->getData('created_at');

そのための出力は2013-02-0609:32 :23 (私の環境では)でした

于 2013-03-07T12:50:30.463 に答える