kohana找到集合的第二个元素(使用find())

时间:2011-05-06 12:52:34

标签: orm find kohana

我有一个kohana网站,我的情况是我总是需要获得一个集合的前两个元素(它们实际上是图片)。

我使用第一个元素非常简单:

     $image = $product->images->find();

但我怎么能真正拿到第二个元素呢? (最终使用find)。对此有什么简单的解决方案吗?

谢谢!

2 个答案:

答案 0 :(得分:1)

$first_two = $product->images->limit(2)->find_all();

find()与find_all()基本相同,添加限制(1)并返回当前结果(第一个)。

$first = current($first_two);
$second = next($first_two);

注意next()会使内部数组指针前进,所以如果你想从头再次循环,你必须重置()它。

答案 1 :(得分:1)

您可以使用limit($n)offset($o)组合从数据库中的$n位置开始选择$o行。阅读有关查询构建器方法here的更多信息。

因此,您的代码看起来像$image = $product->images->offset(1)->find();

PS。请注意,某些数据库引擎可能不支持SQL的OFFSET语句(例如MS SQL服务器)。