Query data not show in view in zf2? [duplicate]

心已入冬 提交于 2019-12-02 20:15:50

问题


I make an index action in which i used doctrine query to select data from calendar table and i want to show data using index.phtml but my data not show only blank page shown,how i show data from controller to view? here is my code:

 public function indexAction()
    {

        $dm = $this->getServiceLocator()->get('doctrine.documentmanager.odm_default');
        $qb = $dm->createQueryBuilder('Calendar\Document\Calendar');
        $query = $qb->getQuery();
        $calendars = $query->execute();
        return array('calendars' => $calenders)
    }

and here is my index.phtml code:

 <?php
$calendars = $this->calendars;
$title = 'Calendars by';
$this->headTitle($title);
 ?>

 <h3><?php echo $this->escapeHtml($title); ?></h3>

 <ul>
 <li><a href="<?php echo $this->url('calendar', array('action'=>'create'));?>">Create New Calendar</a></li>
 </ul>

 <h4>Calendars created by you</h4>

 <?php if (is_null($calendars)): ?>

<p>No calendars</p>

   <?php else: ?>

<table class="table">
<tr>
    <th>calendar name</th>
    <th>description</th>
    <th>actions</th>
</tr>
<?php foreach ($calendars as $calendar) : ?>
<tr>
    <td>
        <a href="<?php echo $this->url('calendar',array('action'=>'show', 'id' => $calendar->calendar_id));?>">
                <?php echo $this->escapeHtml($calendar->title);?>
        </a>
    </td>
    <td><?php echo $this->escapeHtml($calendar->description);?></td>
    <td>
        <a href="<?php echo $this->url('calendar',
            array('action'=>'settings', 'id' => $calendar->_id));?>">Settings</a>
        <a href="<?php echo $this->url('calendar',
            array('action'=>'delete', 'id' => $calendar->_id));?>">delete</a>
    </td>
</tr>
<?php endforeach; ?>
</table>

   <?php endif; ?>

and here is my response:

Doctrine\ODM\MongoDB\Cursor Object
(
    [baseCursor:Doctrine\ODM\MongoDB\Cursor:private] => Doctrine\MongoDB\Cursor Object
        (
            [connection:protected] => Doctrine\MongoDB\Connection Object
                (
                    [mongo:protected] => MongoClient Object
                        (
                            [connected] => 1
                            [status] => 
                            [server:protected] => 
                            [persistent:protected] => 
                        )

                [server:protected] => mongodb://127.0.0.1:27017/events
                [options:protected] => Array
                    (
                    )

                [config:protected] => Doctrine\ODM\MongoDB\Configuration Object
                    (
                        [attributes:protected] => Array
                            (
                                [mongoCmd] => $
                                [retryConnect] => 0
                                [retryQuery] => 0
                                [autoGenerateProxyClasses] => 1
                                [proxyDir] => data/DoctrineMongoODMModule/Proxy
                                [proxyNamespace] => DoctrineMongoODMModule\Proxy
                                [autoGenerateHydratorClasses] => 1
                                [hydratorDir] => data/DoctrineMongoODMModule/Hydrator
                                [hydratorNamespace] => DoctrineMongoODMModule\Hydrator
                                [defaultDB] => events
                                [metadataCacheImpl] => Doctrine\Common\Cache\ArrayCache Object
                                    (
                                        [data:Doctrine\Common\Cache\ArrayCache:private] => Array ...................................

how i show query result in index.phtml?


回答1:


You need to return a ViewModel to the application with properties set in an associative array, otherwise a default ViewModel will be returned with no properties.

Eg:

return new ViewModel(array(
    'content' => 'foo bar!'
));

Then in your .phtml file:

<p><?php print $this->content; ?></p>


来源:https://stackoverflow.com/questions/23126070/query-data-not-show-in-view-in-zf2

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!