计算db中的记录

时间:2013-02-19 23:32:36

标签: php kohana

我用

public function get_all_news()
{
    $result = DB::select()
            ->from("parys_news")
            ->order_by("ID", "DESC")
            ->execute()
            ;

    return $result;
}

创建查询。现在我想创建一个类似的函数来计算查询中的记录

public function count_records($query)
{


}

如何在Kohana做到这一点?

1 个答案:

答案 0 :(得分:-1)

在特定情况下,要获取所有新闻计数的计数,您只需在返回的结果对象上调用Database_Result::count()方法,例如:

$news = YourModel->get_all_news();
$news_count = $news->count();

如果您想使用通用count_records($query)方法,那么根据您要传递的参数:

  • 如果是简单的SQL查询字符串:

    public function count_records($query)
    {
        return DB::query(Database::SELECT, $query)->execute()->count();
    }
    
  • 如果它是Database_Query

    public function count_records(Database_Query $query)
    {
        return $query->execute()->count();
    }
    
  • 或者它已经是Database_Result对象,然后只是:

    public function count_records(Database_Result $result)
    {
        return $result->count();
    }