php - 我如何在 Magento 中订购最新产品?

标签 php collections magento sql-order-by

我正在尝试在我的 magento 商店中展示最新产品。

什么是最近的产品?它由两个标准定义:

  • 创建于
  • news_from_date

我想在 created_at 和 news_from_date 之间无差异地订购我的产品,而不是先按一个标准,再按第二个标准。

有什么想法吗?

我已经尝试过以下代码:

->addAttributeToSort('created_at, news_from_date', 'desc')

->addAttributeToSort('news_from_date', 'desc')
->addAttributeToSort('created_at', 'desc')

->addAttributeToSort(array('created_at' => 'desc', 'news_from_date' => 'desc'))

->addAttributeToSort(array('created_at', 'news_from_date'), 'desc'))

最佳答案

SQL 顺序子句中没有“OR”,因此您需要找到一种方法将问题减少到单个列。以下内容未经测试,但应该会给您一个想法。

// Make sure the correct attributes are available with names we choose.
$products->addAttributeToSelect('created_at, news_from_date');

// Choose the LATEST date to sort as it is the most RECENT.
$products->addOrder('MAX(created_at, news_from_date)', 'desc');

关于php - 我如何在 Magento 中订购最新产品?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5356610/

相关文章:

css - 特定类别中的 Magento 样式产品

session - Memcache 打开后 Magento session 消失

javascript - jQuery - 通过输入或 td 选择复选框时停止传播

php - 如何在 post 变量中使用 wget 发布文件内容?

php - 在处理期间使用 PHP 输出缓冲发出 JavaScript

list - 如何理解scala中的List::map声明?

c# - 在 C# 中修改集合的模式是什么

php - MySQL-如何选择未在另一个表中选择的行

java - 即使是单个学生或单个类(class),返回集合或集合的接口(interface)是一个好习惯吗?如果是,为什么?

php - 将产品添加到购物车时出错