Php 加载更多功能symfony 2.8
所以,我有一个名为Task.php的实体,从中我从数据库中获取所有聊天消息,并在当前页面上呈现。以下是我如何在实体中获取它们:Php 加载更多功能symfony 2.8,php,jquery,ajax,symfony,twig,Php,Jquery,Ajax,Symfony,Twig,所以,我有一个名为Task.php的实体,从中我从数据库中获取所有聊天消息,并在当前页面上呈现。以下是我如何在实体中获取它们: /** * @return \Doctrine\Common\Collections\Collection|static */ public function getDisplayedActivity() { $limit = 15; $criteria = Criteria::create(); $criteria->orderBy(
/**
* @return \Doctrine\Common\Collections\Collection|static
*/
public function getDisplayedActivity()
{
$limit = 15;
$criteria = Criteria::create();
$criteria->orderBy(['createdAt' => 'DESC']);
$criteria->setMaxResults($limit);
$criteria->where(Criteria::expr()->isNull('parent'));
return $this->activity->matching($criteria);
}
在细枝文件中渲染后,如下所示:
{% for a in displayedActivity %}
...
{% endfor %}
现在有限制-一个页面上只显示15条消息。
我需要“加载更多”按钮,每次我按下它,它会在消息块的末尾再加载15次按摩。但我不知道怎么做
任何帮助都将不胜感激。您可以将
setMaxResults
与setFirstResult
相结合,例如:
$start = 0;
$limit = 15;
$criteria = Criteria::create();
$criteria->orderBy(['createdAt' => 'DESC']);
$criteria->setFirstResult($start);
$criteria->setMaxResults($limit);
$criteria->where(Criteria::expr()->isNull('parent'));
return $this->activity->matching($criteria);
通过这种方式,您可以从记录0提取到15
如果要将记录从30更改为45,则需要将start
变量更改为30
因此,如果需要分页,可以传递页码,例如page=1
$page = 1;
$limit = 15;
$start = ($page * limit) - $limit;
$criteria = Criteria::create();
$criteria->orderBy(['createdAt' => 'DESC']);
$criteria->setFirstResult($start);
$criteria->setMaxResults($limit);
return $this->activity->matching($criteria);
好。。。我怎么能通过点击按钮从我的小树枝模板调用这个方法呢?当我这样做时,完全没有发生任何事情。似乎setFirstResult()方法被忽略了。