此结果为仅向前的结果集,不支持向前移动后调用 rewind()

如何解决此结果为仅向前的结果集,不支持向前移动后调用 rewind()

我想迭代 à 表以查看表数据 2 次(在列表框和下拉按钮中),当我对 1 个输入使用一个 foreach 时可以,但是当我对 2 个输入使用 2 个 foreach 时,我搜索了以下错误,我发现我必须使用 $resultSet->buffer();当我更换它时我的桌子同样的错误或停留:

文件:

C:\xampp\htdocs\gestion-commercial-03\vendor\zendframework\zend-db\src\Adapter\Driver\Pdo\Result.php:182
Message:
This result is a forward only result set,calling rewind() after moving forward is not supported
Stack trace:
#0 C:\xampp\htdocs\gestion-commercial-03\vendor\zendframework\zend-db\src\ResultSet\AbstractResultSet.php(241): Zend\Db\Adapter\Driver\Pdo\Result->rewind()
#1 C:\xampp\htdocs\gestion-commercial-03\module\Documentachat\view\documentachat\documentachat\index.phtml(138): Zend\Db\ResultSet\AbstractResultSet->rewind()
#2 C:\xampp\htdocs\gestion-commercial-03\vendor\zendframework\zend-view\src\Renderer\PhpRenderer.php(506): include('C:\\xampp\\htdocs...')
#3 C:\xampp\htdocs\gestion-commercial-03\vendor\zendframework\zend-view\src\View.php(207): Zend\View\Renderer\PhpRenderer->render(NULL)
#4 C:\xampp\htdocs\gestion-commercial-03\vendor\zendframework\zend-view\src\View.php(236): Zend\View\View->render(Object(Zend\View\Model\ViewModel))
#5 C:\xampp\htdocs\gestion-commercial-03\vendor\zendframework\zend-view\src\View.php(200): Zend\View\View->renderChildren(Object(Zend\View\Model\ViewModel))
#6 C:\xampp\htdocs\gestion-commercial-03\vendor\zendframework\zend-mvc\src\View\Http\DefaultRenderingStrategy.php(105): Zend\View\View->render(Object(Zend\View\Model\ViewModel))
#7 [internal function]: Zend\Mvc\View\Http\DefaultRenderingStrategy->render(Object(Zend\Mvc\MvcEvent))
#8 C:\xampp\htdocs\gestion-commercial-03\vendor\zendframework\zend-eventmanager\src\EventManager.php(490): call_user_func(Array,Object(Zend\Mvc\MvcEvent))
#9 C:\xampp\htdocs\gestion-commercial-03\vendor\zendframework\zend-eventmanager\src\EventManager.php(248): Zend\EventManager\EventManager->triggerListeners('render',Object(Zend\Mvc\MvcEvent))
#10 C:\xampp\htdocs\gestion-commercial-03\vendor\zendframework\zend-mvc\src\Application.php(384): Zend\EventManager\EventManager->triggerEvent(Object(Zend\Mvc\MvcEvent))
#11 C:\xampp\htdocs\gestion-commercial-03\vendor\zendframework\zend-mvc\src\Application.php(356): Zend\Mvc\Application->completeRequest(Object(Zend\Mvc\MvcEvent))
#12 C:\xampp\htdocs\gestion-commercial-03\public\index.php(29): Zend\Mvc\Application->run()
#13 {main}

表格:

<?php
///=======================DocumentachatTable factory=========================
namespace Documentachat\Model;

use Zend\Db\ResultSet\ResultSet;
use Zend\Db\Sql\Expression;
use Zend\Db\Sql\Select;
use Zend\Db\Sql\Sql;
use Zend\Db\Sql\Where;
use Zend\Db\TableGateway\TableGateway;
use Zend\Paginator\Adapter\DbSelect;
use Zend\Paginator\Paginator;

class DocumentachatTable
{
    protected $tableGateway;
    private $lastinserted;

    public function __construct(TableGateway $tableGateway)
    {
        $this->tableGateway = $tableGateway;
    }

    public function fetchAll($paginated = false)
    {

        if ($paginated) {

            // create a new Select object for the table album
            $select = new Select('achat__document');
            // create a new result set based on the Album entity
            $resultSetPrototype = new ResultSet();
            $resultSetPrototype->setArrayObjectPrototype(new Documentachat());
            // create a new pagination adapter object
            $paginatorAdapter = new DbSelect(
            // our configured select object
                $select,// the adapter to run it against
                $this->tableGateway->getAdapter(),// the result set to hydrate
        $resultSetPrototype->buffer();
                $resultSetPrototype
            );
            $select->where(array('achat__document.deleted' => 1));
            $paginator = new Paginator($paginatorAdapter);

            return $paginator;
        }

        $select = $this->tableGateway->getSql()->select();
        $select->where(array('achat__document.deleted' => 1));
        $results = $this->tableGateway->selectWith($select);
        return $results;

    }

    public function lastInserted()
    {
        return $this->lastinserted;
    }

    public function getDocument($id)
    {
        $id = (int)$id;
        $rowset = $this->tableGateway->select(array('id' => $id));
        $row = $rowset->current();
        if (!$row) {
            throw new \Exception("Could not find row $id");
        }
        return $row;
    }

    public function getLastCount($idType)
    {
        $idType = (int)$idType;
        $select = $this->tableGateway->getSql()->select();

        $select->where->equalTo('id_type',$idType);
        $select->order('count desc');

        $rowset = $this->tableGateway->selectWith($select);
        $row = $rowset->current();
        if (!$row) {
            return 0;
        }
        return $row;
    }

    public function saveDocument(Documentachat $document)
    {
        $data = array(
            'reference' => $document->reference,'id_type' => $document->idType,'id_fournisseur' => $document->idFournisseur,'address' => $document->address,'deleted' => 1,'date_doc' => $document->dateDoc
        );

        $id = (int)$document->id;
        if ($id == 0) {
            $data['count'] = $this->getLastCount($document->idType)->count + 1;
            $this->tableGateway->insert($data);
            $this->lastinserted = $this->tableGateway->getLastInsertValue();
        } else {
            if ($this->getDocument($id)) {
                $this->tableGateway->update($data,array('id' => $id));
            } else {
                throw new \Exception('Documentachat id does not exist');
            }
        }
    }

    public function deleteDocument($id)
    {
        $data = array(
            'deleted' => 0,);
        $this->tableGateway->update($data,array('id' => $id));
    }

    public function searchDocument($query)
    {
        $select = $this->tableGateway->getSql()->select();
        $select->where(array('achat__document.deleted' => 1));
        $select->where->like('achat__document.reference','%' . $query . '%');
        $results = $this->tableGateway->selectWith($select);
        return $results;
    }

查看:

<?php

$title = 'Documentachat';
$this->headTitle($title);
?>




<div class="container-fluid container-fullw bg-white ng-scope">

<!--    ======partie haut-->

        <div class="panel border-dark   panel-white bg-white margin-top-20"  style="box-shadow: 0 3px 6px rgb(0 0 0 / 16%),0 3px 6px rgb(0 0 0 / 23%);">
            <div class="panel-body Shadows-2 ">
            <!--        ===========        inputs filtre-->
            <div class="row">
                <div class="col-md-2 form-group">
                    <label> Date début </label>
                    <input type="date" id="dateMinI" class="form-control" name="dateMinI">
                </div>

                <div class="col-md-2 form-group">
                    <label> Date fin </label>
                    <input type="date" id="dateMaxI" class="form-control" name="dateMaxI" >
                </div>

                <div class="col-md-2 form-group">
                    <label> N° Document </label>
                    <input type="text" id="Reference" class="form-control" name="Reference" value autocomplete="off">
                </div>

                <div class="col-md-2 form-group">
                    <label> Fournisseur </label>
                    <input type="text" id="fournisseur" class="form-control" name="fournisseur" >
                </div>

                <div class="col-md-2 form-group">
                    <label> Document Type </label>

                    <select id="doctype" class="form-control" name="doctype">
                        <option value="">---</option>

                        <?php foreach ($this->docTypes as $item) : ?>
                            <option value=<?php echo $item->id; ?> >   <?php echo $item->label; ?> </option>
                        <?php endforeach;
                          ?>

                    </select>

                </div>

                <div class="col-md-2">
                    <div class=" padding-20">
                        <button type="button" id="sendid" class="btn btn-primary btn-block">
                            <i class="fa fa-filter" aria-hidden="true"></i>
                            OK
                        </button>
                    </div>

                </div>


            </div>
            <!--        ===========        inpouts filtre-->

            <div class="row padding-20 bg-light-grey">

                <button type="button" data-toggle="modal" data-target="#transformerModal" id="transformer"
                        class="btn btn-sm btn-default">
                    <i class="fa fa-arrow-right" aria-hidden="true"></i>
                    Transformer
                </button>
                <div class="btn-group pull-right">
                    <button type="button " class="btn btn-primary  btn-sm dropdown-toggle" data-toggle="dropdown" aria-expanded="false">
                        Ajouter <span class="caret"></span>
                    </button>
                    <ul class="dropdown-menu" role="menu">


                        <li class="disabled"><a href="#">
                                <i class="   btn-sm fa fa-file-text-o " aria-hidden="true"></i>
                                DEVIS</a></li>

                        <li>
                            <a target="_blank" href="/document/add/5">
                                <i class="  btn-light-purple  fa fa-file-text-o btn-sm " aria-hidden="true"></i>
                                BON DE COMMANDE</a>
                        </li>


                        <li>
                            <a target="_blank" href="/document/add/19">
                                <i class="btn btn-green  fa fa-file-text-o btn-sm" aria-hidden="true"></i>
                                BON DE LIVRAISON</a>
                        </li>


                        <li>
                            <a target="_blank" href="/document/add/20">
                                <i class=" btn-light-orange  fa fa-file-text-o btn-sm " aria-hidden="true"></i>
                                BON DE RETOUR</a>
                        </li>


                        <li class="disabled"><a href="#">
                                <i class="btn btn-light-azure  btn-sm fa fa-file-text-o" aria-hidden="true"></i>
                                FACTURE INTERNE</a></li>

                        <li class="disabled"><a href="#">
                                <i class="btn  btn-dark-azure  btn-sm fa fa-file-text-o" aria-hidden="true"></i>
                                FACTURE A COMPTABILISER</a></li>

                        <li class="disabled"><a href="#">
                                <i class="   btn-sm fa fa-file-text-o " aria-hidden="true"></i>
                                FACTURE COMPTABILISEE </a></li>

                        <li class="disabled"><a href="#">
                                <i class=" btn-dark-orange  btn-sm fa fa-file-text-o " aria-hidden="true"></i>
                                FACTURE DE RETOUR</a></li>
                        <li>
                            <a target="_blank" href="/document/add/33">
                                <i class=" btn-dark-yellow  fa fa-file-text-o btn-sm " aria-hidden="true"></i>
                                AVOIR FINANCIER</a>
                        </li>
                    </ul>
                </div>

            </div>
                <div class="dropdown">
                    <button class="btn btn-primary dropdown-toggle" type="button" id="dropdownMenu1" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true">
                        Ajouter
                        <span class="caret"></span>
                    </button>
                    <ul class="dropdown-menu" aria-labelledby="dropdownMenu1">
                        <?php

                        foreach ($this->docTypes as $item)  { ?>
                            <li><a href="<?= $this->url('documentachat',array('action'=>'add','id' => $item->id));?>"><?= $item->label?></a></li>
                        <?php } ?>
                        <?php  ?>
                    </ul>
                </div>
            </div>
        </div>

module.config.php

<?php

return array(
    'controllers' => array(
        'invokables' => array(
            'Documentachat\Controller\Documentachat' => 'Documentachat\Controller\DocumentachatController','Documentachat\Controller\Parametreachat' => 'Documentachat\Controller\ParametreachatController','Documentachat\Controller\DocArticle' => 'Documentachat\Controller\DocArticleController',),'router' => array(
        'routes' => array(
            'documentachat' => array(
                'type'    => 'segment','options' => array(
                    'route'    => '/documentachat[/:action][/:id]','constraints' => array(
                        'action' => '[a-zA-Z][a-zA-Z0-9_-]*','id'     => '[0-9]+','defaults' => array(
                        'controller' => 'Documentachat\Controller\Documentachat','action'     => 'index','parametreachat' => array(
                'type'    => 'segment','options' => array(
                    'route'    => '/parametreachat[/:action][/:id]','defaults' => array(
                        'controller' => 'Documentachat\Controller\Parametreachat','docarticle' => array(
                'type'    => 'segment','options' => array(
                    'route'    => '/docarticle[/:action][/:id]','defaults' => array(
                        'controller' => 'Documentachat\Controller\DocArticle','view_manager' => array(
        'template_path_stack' => array(
            'documentachat' => __DIR__ . '/../view',);

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


依赖报错 idea导入项目后依赖报错,解决方案:https://blog.csdn.net/weixin_42420249/article/details/81191861 依赖版本报错:更换其他版本 无法下载依赖可参考:https://blog.csdn.net/weixin_42628809/a
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下 2021-12-03 13:33:33.927 ERROR 7228 [ main] o.s.b.d.LoggingFailureAnalysisReporter : *************************** APPL
错误1:gradle项目控制台输出为乱码 # 解决方案:https://blog.csdn.net/weixin_43501566/article/details/112482302 # 在gradle-wrapper.properties 添加以下内容 org.gradle.jvmargs=-Df
错误还原:在查询的过程中,传入的workType为0时,该条件不起作用 &lt;select id=&quot;xxx&quot;&gt; SELECT di.id, di.name, di.work_type, di.updated... &lt;where&gt; &lt;if test=&qu
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct redisServer’没有名为‘server_cpulist’的成员 redisSetCpuAffinity(server.server_cpulist); ^ server.c: 在函数‘hasActiveC
解决方案1 1、改项目中.idea/workspace.xml配置文件,增加dynamic.classpath参数 2、搜索PropertiesComponent,添加如下 &lt;property name=&quot;dynamic.classpath&quot; value=&quot;tru
删除根组件app.vue中的默认代码后报错:Module Error (from ./node_modules/eslint-loader/index.js): 解决方案:关闭ESlint代码检测,在项目根目录创建vue.config.js,在文件中添加 module.exports = { lin
查看spark默认的python版本 [root@master day27]# pyspark /home/software/spark-2.3.4-bin-hadoop2.7/conf/spark-env.sh: line 2: /usr/local/hadoop/bin/hadoop: No s
使用本地python环境可以成功执行 import pandas as pd import matplotlib.pyplot as plt # 设置字体 plt.rcParams[&#39;font.sans-serif&#39;] = [&#39;SimHei&#39;] # 能正确显示负号 p
错误1:Request method ‘DELETE‘ not supported 错误还原:controller层有一个接口,访问该接口时报错:Request method ‘DELETE‘ not supported 错误原因:没有接收到前端传入的参数,修改为如下 参考 错误2:cannot r
错误1:启动docker镜像时报错:Error response from daemon: driver failed programming external connectivity on endpoint quirky_allen 解决方法:重启docker -&gt; systemctl r
错误1:private field ‘xxx‘ is never assigned 按Altʾnter快捷键,选择第2项 参考:https://blog.csdn.net/shi_hong_fei_hei/article/details/88814070 错误2:启动时报错,不能找到主启动类 #
报错如下,通过源不能下载,最后警告pip需升级版本 Requirement already satisfied: pip in c:\users\ychen\appdata\local\programs\python\python310\lib\site-packages (22.0.4) Coll
错误1:maven打包报错 错误还原:使用maven打包项目时报错如下 [ERROR] Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:3.2.0:resources (default-resources)
错误1:服务调用时报错 服务消费者模块assess通过openFeign调用服务提供者模块hires 如下为服务提供者模块hires的控制层接口 @RestController @RequestMapping(&quot;/hires&quot;) public class FeignControl
错误1:运行项目后报如下错误 解决方案 报错2:Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) on project sb 解决方案:在pom.
参考 错误原因 过滤器或拦截器在生效时,redisTemplate还没有注入 解决方案:在注入容器时就生效 @Component //项目运行时就注入Spring容器 public class RedisBean { @Resource private RedisTemplate&lt;String
使用vite构建项目报错 C:\Users\ychen\work&gt;npm init @vitejs/app @vitejs/create-app is deprecated, use npm init vite instead C:\Users\ychen\AppData\Local\npm-