Model view controller ez组件使用持久对象获取数据

Model view controller ez组件使用持久对象获取数据,model-view-controller,object,persistent,zeta-components,Model View Controller,Object,Persistent,Zeta Components,我是eZComponents框架的新手,我正在使用Mvc工具和持久对象来操作mysql中的数据 我可以在一个页面上获得一个产品,但我不能列出我的产品!有人能帮我写这个代码吗 controller.php public function doListproducts() { $ret = new ezcMvcResult; $session = ezcPersistentSessionInstance::get(); $q = $sessi

我是eZComponents框架的新手,我正在使用Mvc工具和持久对象来操作mysql中的数据

我可以在一个页面上获得一个产品,但我不能列出我的产品!有人能帮我写这个代码吗

controller.php

public function doListproducts()
    {
        $ret = new ezcMvcResult;

        $session = ezcPersistentSessionInstance::get();
        $q = $session->createFindQuery('Product');
        $objects = $session->findIterator($q, 'Product');
        //$objects = $session->find($q, 'Product');

        foreach ( $objects as $object )
        {
            $ret->variables['products'] = $object;
            //$ret->variables['products'] = $object->getState();
        }
        return $ret;
    }
模板:

{use $products}
{foreach $products as $product}
    {$article['product']}<br>{$product['body']}<br><br>
{/foreach}
{use$products}
{foreach$products作为$product}
{$article['product']}
{$product['body']}

{/foreach}
这些评论是不同的解决方案,但也不起作用。谢谢你的帮助

{foreach $productsas $product}
应该是:

{foreach $products as $product}
此外:

{$article['product']}
{$product['body']}

什么是$article


最后,您是否检查$ret是否具有预期值?

否,这只是键入错误。我改为{$product->title}工作了!我不明白其中的区别。。。谢谢你,你不明白什么和什么的区别吗?当您请求支持时,您应该粘贴工作代码。不同之处在于,
$product
是一个对象,
title
是该对象的属性。因此,您需要编写
{$product->title}
如果
$product
是一个数组或散列,并且
title
是一个键,那么您必须编写
{$product['title']}
{$article['product']}<br>{$product['body']}<br><br>