0

我用

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

    return $result;
}

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

public function count_records($query)
{


}

如何在 Kohana 中做到这一点?

4

1 回答 1

-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();
    }
    
于 2013-02-20T07:33:47.343 回答