我有一个kohana网站,我的情况是我总是需要获得一个集合的前两个元素(它们实际上是图片)。
我使用第一个元素非常简单:
$image = $product->images->find();
但我怎么能真正拿到第二个元素呢? (最终使用find)。对此有什么简单的解决方案吗?
谢谢!
答案 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服务器)。