如何显示zend框架数据网格数据按“日期”排序为默认值?

时间:2012-07-12 07:54:10

标签: php zend-framework zfdatagrid

如何显示zend框架数据网格数据按“日期”排序为默认值? 当我进入页面时,我希望看到数据网格按时间排序为默认值,而不会在URL中获取params ... / order / created_DESC /

$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());

1 个答案:

答案 0 :(得分:0)

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

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

选项1

当有一个fetchAll() - 在Grid类中调用时,你可以创建这个:

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

选项2

您可以在fetchAll课程中重新编写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始终默认按日期字段排序。