Php Kohana 3.2-我想得到不同的日期

Php Kohana 3.2-我想得到不同的日期,php,kohana,kohana-orm,kohana-3.2,Php,Kohana,Kohana Orm,Kohana 3.2,因此,我有一张包含以下内容的表格: 身份证 事务\u时间戳(时间戳当前\u时间戳) 我想使用Kohana ORM从事务时间戳中获得不同的日期 我有一个名为Model\u Transactions 如果我这样做 Model_Transactions::factory('transactions')->find_all(); 我得到所有的数据。既然我将它用作存档,那么我如何只获取不同的日期呢。我不希望用户单击存档并返回空白表 例如:用户单击“2012年4月1日”,因为4月1日没有交易,所以有

因此,我有一张包含以下内容的表格:

  • 身份证
  • 事务\u时间戳(时间戳当前\u时间戳)
  • 我想使用Kohana ORM从事务时间戳中获得不同的日期 我有一个名为
    Model\u Transactions

    如果我这样做

    Model_Transactions::factory('transactions')->find_all();
    
    我得到所有的数据。既然我将它用作存档,那么我如何只获取不同的日期呢。我不希望用户单击存档并返回空白表


    例如:用户单击“2012年4月1日”,因为4月1日没有交易,所以有一个空白表,我想避免这些情况,如何?ORM模型应该表示表中的单个条目。使用ORM find_all()它将希望选择表中的所有属性。因为您的id应该是唯一的,所以每一行本质上是不同的

    若您只是想获得一个不同事务时间戳值的列表,那个么可以向模型中添加一个方法来检索该值。比如:

    public function get_distinct_timestamps()
    {
        return DB::select('transaction_timestamp')
                ->from($this->_table_name)
                ->distinct('transaction_timestamp')
                ->execute()
                ->as_array();
    }
    
    然后您可以使用:

    $timestamps = Model::factory('transactions')->get_distinct_timestamps();
    foreach($timestamps as $timestamp)
    {
        $value = $timestamp['transaction_timestamp'];
    }
    
    当然,这只是一个例子。您可能不想返回数组。但您不限于使用ORM查询方法

    获取具有不同事务\u时间戳的ORM对象的另一个选项是:

    Model_Transactions::factory('transactions')
        ->group_by('transaction_timestamp')
        ->find_all();
    

    ORM模型应该表示表中的单个条目。使用ORM find_all()它将希望选择表中的所有属性。因为您的id应该是唯一的,所以每一行本质上是不同的

    若您只是想获得一个不同事务时间戳值的列表,那个么可以向模型中添加一个方法来检索该值。比如:

    public function get_distinct_timestamps()
    {
        return DB::select('transaction_timestamp')
                ->from($this->_table_name)
                ->distinct('transaction_timestamp')
                ->execute()
                ->as_array();
    }
    
    然后您可以使用:

    $timestamps = Model::factory('transactions')->get_distinct_timestamps();
    foreach($timestamps as $timestamp)
    {
        $value = $timestamp['transaction_timestamp'];
    }
    
    当然,这只是一个例子。您可能不想返回数组。但您不限于使用ORM查询方法

    获取具有不同事务\u时间戳的ORM对象的另一个选项是:

    Model_Transactions::factory('transactions')
        ->group_by('transaction_timestamp')
        ->find_all();