如何显示ORM汇编的查询?

时间:2014-05-23 15:13:39

标签: php mysql sql orm kohana

如何显示ORM汇编的查询?

示例:SELECT articleid AS article:idarticlename AS article:name

我使用以下代码:

$query=DB::select('categories.*', 
                    array(DB::expr('COUNT(categories.id)'), 'total'),
                    array(DB::expr('MIN(displays.price)'), 'min_price'),
                    array(DB::expr('MAX(displays.price)'), 'max_price'),
                    array(DB::expr('SUM(displays.is_offer)'), 'is_offer')
            )
            ->from('categories')
                ->join('category_products', 'INNER')
                ->on('categories.id', '=', 'category_products.category_id')
                ->join('displays', 'INNER')
                ->on('category_products.product_id', '=', 'displays.product_id')
            ->where('displays.active', '>=', 1)
            ->group_by('categories.id')
            ->order_by('parent')
            ->order_by('total', 'desc');

1 个答案:

答案 0 :(得分:0)

让我们看看,您正在使用DB::select()来返回Database_Query_Builder_Select个实例。在文档中说

  

SELECT语句的数据库查询构建器。有关用法和示例,请参阅Query Builder

如果你确实看到了,你会看到

echo Debug::vars((string) $query);
// Should display:
// SELECT `username`, `password` FROM `users` WHERE `username` = 'john'

一旦看到Database_Query_Builder_Select的{​​{3}},就会有意义。

所以

echo (string) $query;

应该给你查询。