Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 加载更多功能symfony 2.8_Php_Jquery_Ajax_Symfony_Twig - Fatal编程技术网

Php 加载更多功能symfony 2.8

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(

所以,我有一个名为Task.php的实体,从中我从数据库中获取所有聊天消息,并在当前页面上呈现。以下是我如何在实体中获取它们:

/**
 * @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()方法被忽略了。