我有一个问题是如何限制此php查询中的记录数
$query = $db->getQuery(true);
$query->select('a.*,b.category_name')
->from('#__p_list AS a')
->innerJoin('#__p_cat AS b ON b.id = a.category_id')
->where('a.approved=1')
->where('a.published=1')
;
$query->limits(8,0); //This Portion not working
$db->setQuery($query);
return $db->loadObjectList();
我用
$query->limit(8,0); //limit() and limits() both dun work
$query->limit(8); //limit() and limits() both dun work
$query->setlimit(8,0); //limit() and limits() both dun work
$query->setlimit(8);
$query->limit('8,0');
一切都行不通。有人可以赐教我
答案 0 :(得分:0)
limit(8,0)
表示将返回以第8条记录开头的所有记录,因此如果您没有8条记录,则会返回mo记录。使用limit (0,8)
表示将返回以第一条记录开头的8条记录
似乎你的语法不正确,而不是:
$query->limits(8,0); //This Portion not working
$db->setQuery($query);
使用
$db->setQuery($query, 0,8);
答案 1 :(得分:0)
终于找到了答案,它与我使用joomla有关。正确的方法是在让DB执行查询的位置添加限制。
$db->setQuery($query);
这里你必须这样做才能限制
$db->setQuery($query,0,8);
感谢大家的帮助。