查询生成器和条件语句

时间:2011-05-30 09:38:14

标签: kohana kohana-3 query-builder

$query = DB::select('thing')->from('things')->where('thing', '=', 'something');

if ($other_thing)
{
    $query->and_where('other_thing', '=', 'something else');
}

$query->order_by('thing', 'ASC')->limit(10)->execute()->as_array();

foreach ($query as $row)
{
    echo $row['thing'];
}

问题是什么?

好:

echo $row['thing'] -> nothing.
print_r($query) -> an object and not an array.

我做错了什么?有人可以帮我吗?请!

谢谢!

2 个答案:

答案 0 :(得分:0)

试试这个:

$result = $query->order_by('thing', 'ASC')->limit(10)->execute()->as_array();

foreach ($result as $row)
{
    echo $row['thing'];
}

答案 1 :(得分:0)

为了扩展上面的答案,问题是execute函数实际上正在返回Database_Result的实例。正如上面的帖子所指出的那样,您可以在此对象上调用各种函数,然后以各种格式返回数据(有关可用函数的完整列表,请参阅上一个链接)

这提供了各种好处 - this page描述了所有这些好处