Select 使用 jDataBaseDriver 的随机行
Select Random rows using jDataBaseDriver
我是 JDataBaseDriver 的新手...我正在使用 SimplePortfolio item show module.The 问题是没有 Randome oder 或在后端实现的任何排序控制。所以我决定自己编辑 PHP 代码。我发现以下与选择相关的行:
public static function getItems($params) {
$db = JFactory::getDbo();
$query = $db->getQuery(true);
$query->select('a.*, a.id AS spsimpleportfolio_item_id , a.tagids AS spsimpleportfolio_tag_id, a.created AS created_on ')
->from($db->quoteName('#__spsimpleportfolio_items', 'a'))
->where($db->quoteName('a.published') . ' = 1');
//has category
if ($params->get('category_id') != '') {
$query->where($db->qn('a.catid')." = ".$db->quote( $params->get('category_id') ));
}
$query->where($db->quoteName('a.access')." IN (" . implode( ',', JFactory::getUser()->getAuthorisedViewLevels() ) . ")")
->order($db->quoteName('a.ordering') . ' ASC')
->setLimit($params->get('limit', 6));
$db->setQuery($query);
在我搜索之后,我发现我可以使用 ORDER BY NEWID(),但是 ut 在我可以想象的任何语法中都不起作用,我添加了这个,但我遇到了错误。返回随机排序行的顶级代码的正确编辑是什么?
代替这一行
->order($db->quoteName('a.ordering') . ' ASC')
使用它以随机顺序获取项目
->order('RAND()')
如果您想按创建的新商品 ID 订购。应该是
->order($db->quoteName('a.id') . ' DESC')
我是 JDataBaseDriver 的新手...我正在使用 SimplePortfolio item show module.The 问题是没有 Randome oder 或在后端实现的任何排序控制。所以我决定自己编辑 PHP 代码。我发现以下与选择相关的行:
public static function getItems($params) {
$db = JFactory::getDbo();
$query = $db->getQuery(true);
$query->select('a.*, a.id AS spsimpleportfolio_item_id , a.tagids AS spsimpleportfolio_tag_id, a.created AS created_on ')
->from($db->quoteName('#__spsimpleportfolio_items', 'a'))
->where($db->quoteName('a.published') . ' = 1');
//has category
if ($params->get('category_id') != '') {
$query->where($db->qn('a.catid')." = ".$db->quote( $params->get('category_id') ));
}
$query->where($db->quoteName('a.access')." IN (" . implode( ',', JFactory::getUser()->getAuthorisedViewLevels() ) . ")")
->order($db->quoteName('a.ordering') . ' ASC')
->setLimit($params->get('limit', 6));
$db->setQuery($query);
在我搜索之后,我发现我可以使用 ORDER BY NEWID(),但是 ut 在我可以想象的任何语法中都不起作用,我添加了这个,但我遇到了错误。返回随机排序行的顶级代码的正确编辑是什么?
代替这一行
->order($db->quoteName('a.ordering') . ' ASC')
使用它以随机顺序获取项目
->order('RAND()')
如果您想按创建的新商品 ID 订购。应该是
->order($db->quoteName('a.id') . ' DESC')