0

如何默认显示按“日期”排序的zend框架数据网格数据?当我进入页面时,我希望看到默认按时间排序的数据网格,而不是像 .../order/created_DESC/ 这样的 URL 中的参数

$testimonials = new Application_Model_DbTable_Testimonials();
        $source = new Bvb_Grid_Source_Zend_Table($testimonials);

谢谢。

我通过传递给 datagrid $select 而不是 $object 解决了这个问题

$testimonials = new Application_Model_DbTable_Testimonials();
        $source = new Bvb_Grid_Source_Zend_Table($testimonials);

就是现在

$testimonials = new Application_Model_DbTable_Testimonials();
        $testimonials->setSortOrder('created');
        $source = new Bvb_Grid_Source_Zend_Select($testimonials->getTestimonials());
4

1 回答 1

0

很难看到你的班级在做什么,因为你没有发布那个。

但是当它使用fetchAll() 函数时,你可以做两件事:

选项1

当 Grid 类中有一个 fetchAll() 调用时,您可以进行此调用:

$testimonialsTable->fetchAll(null, 'date'));

选项 2

你可以在课堂上重写fetchAll-Method Application_Model_DbTable_Testimonials,当你做

public function fetchRow($where = null, $order = null, $offset = null)
{
    if ($order===null) : $order='date'; endif;

    return parent::fetchAll(where, $order, $offset)
}

请注意,在最后一个示例中,fetchess 始终默认按日期字段排序。

于 2012-07-12T08:37:31.153 回答